Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
ибо «работает — ради бога не трогай» (с).
#!/bin/sh
# This script need run from crontab each one minute.
PATH=/bin:/usr/bin
db="/root/scripts/ddclient.data"
log="/var/log/ddclient.log"
newpos=`ps x|awk /ddclient/'{printf $9}'`
oldpos=`cat $db`
if [ $newpos = $oldpos ] ; then
/etc/init.d/ddclient restart
echo -n 0 > $db
date "+%Y-%m-%d %H:%M Restart ddclient deamon." >> $log
else
echo -n $newpos > $db
fi
ssh user@whiteserver 'env | grep SSH_CONNECTION > ip.txt'#!/bin/sh
#Скрипт отправляет на почту текущий динамический адрес
#Переменные
LAST_IP=`cat /root/last_ip`
INTERFACE="dsl1"
STRING=`ifconfig $INTERFACE | grep "inet addr"`
IP=`echo $STRING | gawk -F: '{print $2}' | gawk -F' ' '{print $1}'`;
#Узнаем IP и заносим его в файл /root/last_ip если ip совпадаеи с ip что в файле то он не перезаписываеться
if [ "$LAST_IP" != "$IP" ]; then
#Если отличаеться то записываеться
echo $IP > /root/last_ip
#Отправляем содержимое на email
cat | grep "" /root/last_ip | ssmtp -v -s 'ADSL' user@gmail.com
fi
#!/bin/bash
NAME=ipv6daemon
PIDFILE=$NAME.pid
INT_WAN=ppp0
WAN_IP=$(ip addr show $INT_WAN | awk '/inet/ {print $2}')
case "$1" in
start)
echo "Starting ipv6update service"
if [ ! -r "$PIDFILE" ]; then
exec >/dev/null
exec 2>/dev/null
(
trap "" TERM
echo ${BASHPID} > "$NAME".pid
./ipv6update
while true
do
IP_ADDR=$(ip addr show $INT_WAN | awk '/inet/ {print $2}')
if [ "$IP_ADDR" != "$WAN_IP" ]; then
WAN_IP="$IP_ADDR"
./ipv6update
fi
sleep 60
done
)&
fi
if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then
echo "$NAME allready is running $pid"
exit 0
else
echo "$NAME is not running but $PIDFILE exists."
exit 1
fi
;;
Re: Узнать белый IP-адрес роутера с сервера, который за NAT-ом