Bonjour à tous,
J'ai mis en place un script shell (que j'ai trouvé sur internet, mon niveau de Noobs en Bash m'oblige à faire ça) Pour backuper une database d'un serveur A (serveur DB) à un serveur B (serveur backup)
Une fois que les backup sont fait, le script envoi un email de success, jusqu'ici tout fonctionne comme prévu. Sauf que si le script échoue, il doit envoyer un mail "failed" et même quand je simule un problème de backup dans le script, il envoie toujours un email de "success"
Je ne dois donc pas remplir les bonnes conditions, voici le script en question:
#!/bin/bash
# A Simple Shell Script to Backup Red Hat / CentOS / Fedora / Debian / Ubuntu Apache Webserver and SQL Database
# Path to backup directories
DIRS="/home/ubuntu/backup/bin"
# Store todays date
NOW=$(date +"%F")
# Store backup path
BACKUP="/home/ubuntu/backup/var/$NOW"
# Backup file name hostname.time.sql.gz
MFILE="$(hostname).$(date +'%T').sql.gz"
# Set MySQL username and password
MYSQLUSER="userdb"
MYSQLPASSWORD="password"
# Remote SSH server cald-backup setup
#SSHSERVER="192.168.0.12" # your remote ssh server
SSHUSER="ubuntu" # username
SSHDUMPDIR="/home/ubuntu/backup/var" # remote ssh server directory to store dumps
# Paths for binary files
TAR="/bin/tar"
MYSQLDUMP="/usr/bin/mysqldump"
GZIP="/bin/gzip"
SCP="/usr/bin/scp"
SSH="/usr/bin/ssh"
LOGGER="/usr/bin/logger"
# make sure backup directory exists
[ ! -d $BACKUP ] && mkdir -p ${BACKUP}
# Log backup start time in /var/log/messages
$LOGGER "$0: *** Backup started @ $(date) ***"
# Backup MySQL
$MYSQLDUMP -u ${MYSQLUSER} --single-transaction -h localhost -p${MYSQLPASSWORD} sooner | $GZIP -9 > ${BACKUP}/${MFILE}
# Dump all local files to failsafe remote UNIX ssh server / home server
$SSH ${SSHUSER}@${SSHSERVER} mkdir -p ${SSHDUMPDIR}/${NOW}
$SCP -r ${BACKUP}/* ${SSHUSER}@${SSHSERVER}:${SSHDUMPDIR}/${NOW}
# Log backup end time in /var/log/messages
$LOGGER "$0: *** Backup Ended @ $(date) ***"
# Check for backup file and log messages
if [ -f $BACKUP/$MFILE ]
then
/usr/bin/mail -s "DB cald-backup completed successfully." ethan7888@caldbackup.local
else
/usr/bin/mail -s "DB cald-backup failed." backup@caldbackup.local
fi
echo find /home/ubuntu/backup/var/ -type f -mtime +30 -exec rm -f {} ;
exit
Auriez-vous une idée s'il vous plaît ?
Cordialement
Ethan7888
Modération: à l'avenir, merci de penser aux balises code