ayuda con script para optener ip publica

63 views
Skip to first unread message

Juan Pablo Perez

unread,
Jan 9, 2015, 10:09:26 PM1/9/15
to linux...@googlegroups.com

Buenas noches solicitando su ayuda para resolver un problema con un script que estoy teniendo problemas

la función del script es que compara la ip publica del equipo
en caso de un cambio que envié la nueva ip publica al correo

#!/bin/bash
#fecha
date=`date`
#envia la ip anterior a la consulta actual que esta almacenada en x.txt
x=`<x.txt`
#obtener ip publica
ip=`curl ifconfig.me`

#comparar ip actual con la ip optenida de la consulta anterior
#PROBLEMA EN LA CONDICIONAL DEL IF
if[$ip = $x];
then
else
#almacena la ip actual en el archivo x.txt
$ip > x.txt

#envia correo informando de la nueva ip
#PROBLEMA AL ENVIAR LA VARIABLE O EL COMANDO date EN EL ASUNTO DEL CORREO YA QUE SOLO #MUESTRA DATE Y NO EL RESULTADO DEL COMANDO
$ip | mail -s date -r usu...@server.com usu...@server.com
fi

Renich Bon Ciric

unread,
Jan 10, 2015, 2:55:53 AM1/10/15
to linux...@googlegroups.com
Qué difícil leer tu script. Te recomiendo que uses mejor formato (indentation).

Mi versión de tu script: http://fpaste.org/168004/

Renich Bon Ciric

unread,
Jan 10, 2015, 3:00:33 AM1/10/15
to linux...@googlegroups.com
También, en los headers de cada mail, viene la IP pública de quien lo
mandó (hasta la local, hehe).

Mira los tuyos, por ejemplo. Seguro encuentras tu IP pública por ahí.
Se puede obtener con un egrep.

Delivered-To: ren...@woralelandia.com
Received: by 10.64.113.132 with SMTP id iy4csp531629ieb;
Fri, 9 Jan 2015 19:09:28 -0800 (PST)
X-Received: by 10.66.102.106 with SMTP id fn10mr28478285pab.156.1420859367875;
Fri, 09 Jan 2015 19:09:27 -0800 (PST)
Return-Path: <linuxcabal+bncBD3JRAE...@googlegroups.com>
Received: from mail-pd0-x237.google.com (mail-pd0-x237.google.com.
[2607:f8b0:400e:c02::237])
by mx.google.com with ESMTPS id qd7si15804989pbb.22.2015.01.09.19.09.27
for <ren...@woralelandia.com>
(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
Fri, 09 Jan 2015 19:09:27 -0800 (PST)
Received-SPF: pass (google.com: domain of
linuxcabal+bncBD3JRAE...@googlegroups.com
designates 2607:f8b0:400e:c02::237 as permitted sender)
client-ip=2607:f8b0:400e:c02::237;
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of
linuxcabal+bncBD3JRAE...@googlegroups.com
designates 2607:f8b0:400e:c02::237 as permitted sender)
smtp.mail=linuxcabal+bncBD3JRAE...@googlegroups.com;
dkim=pass header.i=@gmail.com;
dmarc=pass (p=NONE dis=NONE) header.from=gmail.com
Received: by mail-pd0-f183.google.com with SMTP id p10sf2446714pdj.0
for <ren...@woralelandia.com>; Fri, 09 Jan 2015 19:09:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=googlegroups.com; s=20120806;
h=date:from:to:message-id:subject:mime-version:content-type
:x-original-sender:reply-to:precedence:mailing-list:list-id
:list-post:list-help:list-archive:sender:list-unsubscribe;
bh=uxl5hsEXnfe/Wom06xQ5ed4WClgbQL3sP1WtxUZrZwE=;
b=BI+AZyiqmqKoBIs7oq7gqBB4x4Io4c02SMQO52Q8pHMDpJjiWJtMLgVYxW9ykp39kX
FsttUF1AE4FmaZHCR04qc5fKT3nx+Je5QHsfc18xsa5DhVSMzt1ZXuDFBMt4KrUvDf3r
PH4xOfO+WzWzUT7aGxaLnWj2RVdPN1d1rcXNCc2whyTb/kP/JATV3b1tP6lEdUlvH31D
BRWPzQEfH9ITTlXqdsRY5DimK3OrM9HxqGfCZvjetaTv/W8Sj5yfGeQnS6Byw2jT5FPo
cqdfdCrI9LXyP/VCgv4fryjEM3tuM4rPj2AWdtBb80yjGvahYr+jTTGnd75IPr+HJNTa
GfAw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=date:from:to:message-id:subject:mime-version:content-type
:x-original-sender:reply-to:precedence:mailing-list:list-id
:list-post:list-help:list-archive:sender:list-unsubscribe;
bh=uxl5hsEXnfe/Wom06xQ5ed4WClgbQL3sP1WtxUZrZwE=;
b=0mKqWTQojV+asvCEFDjdKcKebbDtgJbDK3Dc4RP5yo4vDGa1VCsCzS9CL01uaLvDfk
VDYGtQ1qqp8Y/1JyQvLK57dgkq/cmjIGa/bq3KfAUWKDFwqizFPVPkSrPOZboiqquiu4
LdqzJnGyqBQSETaWwOfwyUeXnz82Cs9ymvolY8TQid9qlgb7PJTPq25rZ8LQ2Vyrh7bc
62JYJxP9u+FX0Zl0d+0XJNCMtjJIL5YrvTubXwNmvZUhZWcjVZ+MvQIVas/6vBc6OWrm
sCpTlpSDspZ3c/pdzqeNTrrS/MRwfIv0r6K7bgiPt0yqfkPsqSEeJUWpM/xBWjBH8GwJ
Dmhw==
X-Received: by 10.182.214.69 with SMTP id ny5mr384obc.24.1420859367456;
Fri, 09 Jan 2015 19:09:27 -0800 (PST)
X-BeenThere: linux...@googlegroups.com
Received: by 10.182.75.227 with SMTP id f3ls782217obw.4.gmail; Fri, 09 Jan
2015 19:09:27 -0800 (PST)
X-Received: by 10.182.197.129 with SMTP id iu1mr130039obc.13.1420859367055;
Fri, 09 Jan 2015 19:09:27 -0800 (PST)
Date: Fri, 9 Jan 2015 19:09:26 -0800 (PST)
From: Juan Pablo Perez <juan.pa...@gmail.com>
To: linux...@googlegroups.com
Message-Id: <91745bb5-0e8f-4f1d...@googlegroups.com>
Subject: [LinuxCabal] ayuda con script para optener ip publica
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_1692_345781118.1420859366713"
X-Original-Sender: juan.pa...@gmail.com
Reply-To: linux...@googlegroups.com
Precedence: list
Mailing-list: list linux...@googlegroups.com; contact
linuxcab...@googlegroups.com
List-ID: <linuxcabal.googlegroups.com>
X-Google-Group-Id: 511395263749
List-Post: <http://groups.google.com/group/linuxcabal/post>,
<mailto:linux...@googlegroups.com>
List-Help: <http://groups.google.com/support/>,
<mailto:linuxca...@googlegroups.com>
List-Archive: <http://groups.google.com/group/linuxcabal
Sender: linux...@googlegroups.com
List-Unsubscribe:
<mailto:googlegroups-manage+51...@googlegroups.com>,
<http://groups.google.com/group/linuxcabal/subscribe>

------=_Part_1692_345781118.1420859366713
Content-Type: multipart/alternative;
boundary="----=_Part_1693_452501444.1420859366713"

------=_Part_1693_452501444.1420859366713
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Renich Bon Ciric

unread,
Jan 10, 2015, 3:07:05 AM1/10/15
to linux...@googlegroups.com
versión con menos bugs: http://fpaste.org/168005/

;)

Renich Bon Ciric

unread,
Jan 10, 2015, 3:11:02 AM1/10/15
to linux...@googlegroups.com
También, pudiera aceptar parámetros tu script. Chécate este ejemplo:

#!/usr/bin/env bash

name=${1:-renich}

echo Hello, ${name^}


Así, si le pasas un parámetro, te pone eso de nombre; si no, usa el
default Renich. También, abajo, le pongo mayúscula la primer letra.
Están chidos esos truquitos ;)

Omar

unread,
Jan 10, 2015, 6:28:29 AM1/10/15
to linux...@googlegroups.com
Creo que esto podría funcionarte mejor

Por ejemplo esto es para sacar información de tu propia ip publica
curl -s --request GET "ipinfo.io/json"

Este ejemplo es para sacar sobre otra IP
curl -s --request GET "ipinfo.io/8.8.8.8/json"

Después de tomar esto te regresa un JSON que es fácilmente entendible para todos los lenguajes aparte que obtienes mas datos sobre la misma ip

Si lo que quieres es obtener solo la ip te gustaría utilizar un poco de expresiones regulares por ejemplo 
curl -s --request GET "unidadlocal.com/ip" | sed 's/\([0-9|.]*\).*/\1/'


Saludos


--
Has recibido este mensaje porque estás suscrito al grupo "LinuxCabal" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a linuxcabal+...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a linux...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/linuxcabal/91745bb5-0e8f-4f1d-bfe2-8573bba48e8d%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Carlos Omar Briseño Gutierrez
Software Engineering
Cell:(214) 797-7702
oma...@pixelab.com.mx
http://pixelab.com.mx
f t
Reply all
Reply to author
Forward
0 new messages