Intereting Posts
tenshi и logfiles Zabbix-agent: не может stat 'filename.log': Permission denied Есть ли способ сделать функцию просмотра vnc, например, Xming, позволяя свободно перемещать окна Linux? Почему размер и используемое пространство в выходе df противоречат свободному пространству в чем разница между процессором и ядром? Загрузите все исходные файлы для веб-страницы Можно ли добавить процесс в список заданий в bash (например, чтобы отменить «отключение»)? находить измененные файлы рекурсивно и копировать с каталогом, сохраняющей структуру каталогов Проблемы с драйвером адаптера Wi-Fi Debian Сценарий из cron не создает архив Катить все файлы в папке, включая имя файла, используя цикл for? BeagleBone Black работает с стабильной версией ядра / u-boot без каких-либо исправлений Как определить вставку флоппи-диска в RHEL 7 и выполнить скрипт? File Globbing: добавление * * & * * вместе Используя sed с herestring (<<<) и прочитайте -a

Сценарий оболочки для уведомления BackupPC не работает

Я хотел бы получать уведомление по электронной почте каждый раз, когда удачная резервная копия произошла с использованием BackupPC, который я установил на сервере Ubuntu 16.04. BackupPC не отправляет вам уведомления по электронной почте, если резервная копия не сработала. Когда я запускаю следующий скрипт, я получаю сообщение по электронной почте о том, что оно «не удалось».

Я устанавливаю следующее в настройках резервного копирования:

$Conf{DumpPostUserCmd} = /var/lib/backuppc/backuppc_notification_email.sh $xferOK $host $type $client $hostIP $share $XferMethod $sshPath $cmdType 

И вот сценарий оболочки:

 #!/bin/bash # script to send simple email # Email To ? EMAIL="myemail@mydomain.com" # Email text/message EMAILMESSAGE="/var/lib/backuppc/emailmessage.txt" # Grab the status variables xferOK=$1 host=$2 type=$3 client=$4 hostIP=$5 share=$6 XferMethod=$7 sshPath=$8 cmdType=$9 # Check if backup succeeded or not. if [[ $xferOK == 1 ]]; then STATUS="has been SUCCESSFUL" else STATUS="has FAILED" fi # email subject SUBJECT="[BackupPC] $STATUS for host: $client" # Email text/message echo "The filesystem backup for $host $STATUS" > $EMAILMESSAGE echo "-----------------------------------------" >>$EMAILMESSAGE echo "Type: $type" >>$EMAILMESSAGE echo "Client: $client" >>$EMAILMESSAGE echo "Host: $host" >>$EMAILMESSAGE echo "Host IP: $hostIP" >>$EMAILMESSAGE echo "Share: $share" >>$EMAILMESSAGE echo "XferMethod: $XferMethod" >>$EMAILMESSAGE echo "sshPath: $sshPath" >>$EMAILMESSAGE echo "cmdType: $cmdType" >>$EMAILMESSAGE # send an email using /bin/mail /usr/sbin/sendmail -v "$EMAIL" "$SUBJECT" < $EMAILMESSAGE 

Ниже приводится сообщение электронной почты, которое я получаю:

 The filesystem backup for has FAILED ----------------------------------------- Type: Client: Host: Host IP: Share: XferMethod: sshPath: cmdType: 

Я хотел бы знать, почему в электронной почте нет соответствующей информации, как указано в моем сценарии оболочки, и почему она говорит «НЕИСПРАВНОСТЬ»?

Попробуйте указать команду и добавить точку с запятой в конце:

  $Conf{DumpPostUserCmd} = '/var/lib/backuppc/backuppc_notification_email.sh $xferOK $host $type $client $hostIP $share $XferMethod $sshPath $cmdType'; 

Из документации BackupPC :

Файл конфигурации – это Perl-скрипт, который выполняется BackupPC, поэтому при редактировании вы должны быть осторожны, чтобы сохранить синтаксис файла (пунктуация, кавычки и т. Д.). Рекомендуется использовать CVS, RCS или какой-либо другой метод управления источником для изменения config.pl.

Кроме того, вы можете использовать здесь документ для создания сообщения электронной почты:

 cat << _EOF_ > "$EMAILMESSAGE" The filesystem backup for $host $STATUS ----------------------------------------- Type: $type Client: $client Host: $host Host IP: $hostIP Share: $share XferMethod: $XferMethod sshPath: $sshPath cmdType: $cmdType _EOF_