Если у вас установлена почта (я использую postfix ... т. е. sudo apt-get install postfix), вы можете запускать скрипт bash в cron каждые 5 минут.
Скрипт использует «stat», чтобы проверить, изменился ли файл за последние пять минут (300 секунд), если так что переменная $ diff будет равна 1.
Некоторые вещи, подобные этому, должны работа:
#!/bin/bash
filemtime=`stat -c %Y /tmp/dnsexit-ip.txt`
currtime=`date +%s`
diff=$(( (currtime - filemtime) / 300 ))
x=1
if [ $diff -eq $x ]
then
SUBJECT="DCHP CHANGE"
EMAIL="youremail@example.com"
EMAILMESSAGE="/tmp/emailmessage.txt"
echo "Contents of dnsexit-ip.txt" >$EMAILMESSAGE
cat /tmp/dnsexit-ip.txt >> $EMAILMESSAGE
echo "Contents of dnsexit.log" >>$EMAILMESSAGE
cat /var/log/dnsexit.log >> $EMAILMESSAGE
sudo /usr/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE
fi
Предполагая, что вы используете gnome-terminal ??, если это возможно, проверьте разрешения на .bash_history. Это должно быть -rw-r--r--
Чтобы сделать это в терминале ls -la |grep .bash, все 3 файла должны иметь указанные выше разрешения. В противном случае попробуйте удалить .bash_history, restart & amp; посмотрите, записана ли история
Обратите внимание, что история записывается только после закрытия терминала или выхода из него.
Как отмечалось выше, это может быть исправлено с правами root-> пользователя. Первоначальные разрешения могут быть из -rw-r--r-- или любого другого варианта и корневого права собственности.
В моем случае у меня было только .bash_history, принадлежащее root, но все они .bash_ *, которые должны принадлежать пользователю.