backup.sh 1.2 KB

1234567891011121314151617181920212223242526272829
  1. #!/bin/sh
  2. ##############################################################
  3. # #
  4. # Sauvegarde les fichiers d'un repertoire et les bases Mysql #
  5. # #
  6. ##############################################################
  7. # Parametrage
  8. WWW_BACKUP_DIRECTORY=/home/backup/www
  9. MYSQL_BACKUP_DIRECTORY=/home/backup/mysql
  10. LOG_FILE=/tmp/backup.log
  11. WWW_DIRECTORY=/var/www
  12. # Sauvegarde des fichiers
  13. echo "[$(date +%d/%m/%Y-%H:%M)] Sauvegarde des fichiers" >> $LOG_FILE
  14. mkdir $WWW_BACKUP_DIRECTORY/$(date "+%Y%m%d")
  15. cp -R $WWW_DIRECTORY/* $WWW_BACKUP_DIRECTORY/$(date "+%Y%m%d") >> $LOG_FILE
  16. # Sauvegarde des bases de donnees MYSQL (on exclue information_schema et performance_schema)
  17. echo "[$(date +%d/%m/%Y-%H:%M)] Sauvegarde des bases MYSQL" >> $LOG_FILE
  18. cd $MYSQL_BACKUP_DIRECTORY
  19. DBS="$(mysql --defaults-file=/etc/mysql/debian.cnf -Bse 'show databases;' | grep -Ev '(information_schema|performance_schema)')"
  20. for DB in $DBS
  21. do
  22. echo " -> "$DB >> $LOG_FILE
  23. mysqldump --defaults-file=/etc/mysql/debian.cnf $DB | gzip > $MYSQL_BACKUP_DIRECTORY/${DB}_$(date "+%Y%m%d-%H%M%S").sql.gz
  24. done