Как перезапустить автоматически сервер после того, как резервное копирование сделано

mysqldump закончится с кодом выхода 0 если все подходили. Можно использовать это:

#!/bin/sh
BACKUP=/data/backup/sql2/new_backup/daily
cd $BACKUP
mkdir `date '+%d-%m-%Y'`
NOW=$(date +"%d-%m-%Y")

MUSER="root"
MPASS="mypass"
MHOST="sql4"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"
MAIL="youradress@example.com"
MAILER="$(which mail)"
STATUSFILE="/tmp/statusfile.$NOW"


echo "Backup report from $NOW" > $STATUSFILE
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
 FILE=$BACKUP/$NOW/mysql-$db.$NOW-$(date +"%T").sql.gz
 $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS --lock-all-tables $db | $GZIP -9 > $FILE
 if [ "$?" -eq "0" ] then; 
   echo "$db backup is OK" >> $STATUSFILE
  else 
   echo "##### WARNING: #####  $db backup failed" >> $STATUSFILE
  fi
done
$MAILER -s "Backup report for $NOW" -- $MAIL < $STATUSFILE
rm $STATUSFILE

Я не протестировал это, но это - общий способ сделать это.

7
задан 7 March 2014 в 22:17
2 ответа

Я предполагаю, что вы можете запланировать задачу на основе идентификатора события 4 в журналах событий, чтобы запустить перезагрузку после его публикации.

http: // technet .microsoft.com / en-us / library / cc734345% 28v = ws.10% 29.aspx

Product:    Windows Operating System
ID:     4
Source:     Microsoft-Windows-Backup
Version:    6.0
Symbolic Name:  BACKUP_SUCCESS_EVENT
Message:    Backup finished successfully.

Просто щелкните правой кнопкой мыши запись в журнале событий и выберите «Прикрепить задачу к событию», чтобы попасть туда. http://technet.microsoft.com/en-us/library/cc748900.aspx

7
ответ дан 2 December 2019 в 23:24

Вы можете использовать get status аргумент wbadmin . Он не вернется, пока работа не будет завершена,

6
ответ дан 2 December 2019 в 23:24

Теги

Похожие вопросы