Сценарий оболочки для уведомления 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: 

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

One Solution collect form web for “Сценарий оболочки для уведомления BackupPC не работает”

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

  $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_ 
  • ksh: для цикла для циклического прохождения файлов в определенном каталоге
  • xterm не использует .Xresources
  • awk, чтобы разграничить второй столбец
  • повторение значения из функции BASH после выполнения команды в фоновом режиме
  • Проблемы с разделением файлов CSV
  • Пытаться направить содержимое переменной в команду дает Ambigious Redirect
  • Аргументы сценария Bash не передаются функции?
  • Код выхода подзаголовка влияет на регистрацию
  • В сценарии оболочки bash пишется цикл for, который выполняет итерацию по строковым значениям
  • Bash один вкладыш для изменения параметров конфигурации
  • Как выбрать уникальные значения массива?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.