View: Backups standard via clés ssh partagées

  1. 1 year ago by yoplait and saved by 2 others
    1. #!/bin/bash
    2.  
    3. TAR_COMPRESS="tar cjvf" # Commande de compression
    4. BACKUP_EXTENSION="tar.bz2" # Extension des fichiers compressés
    5. DATE=`date '+%d-%m-%Y'`
    6. BACKUP_ADDRESS="sav@mondomaine.fr"
    7. BACKUP_DIR="/directory"
    8.  
    9.  
    10.  
    11. echo "Sauvegarde des fichiers"
    12. cd /home/sav
    13. echo "On sauvegarde et on envoie le home"
    14. $TAR_COMPRESS home-$DATE.$BACKUP_EXTENSION /home/
    15. scp home-$DATE.$BACKUP_EXTENSION $BACKUP_ADDRESS:$BACKUP_DIR
    16. rm -f home-$DATE.$BACKUP_EXTENSION
    17. echo "On sauvegarde et on ennvoie le home du root "
    18. $TAR_COMPRESS root-$DATE.$BACKUP_EXTENSION /root/
    19. scp root-$DATE.$BACKUP_EXTENSION $BACKUP_ADDRESS:$BACKUP_DIR
    20. rm -f root-$DATE.$BACKUP_EXTENSION
    21. echo "On sauvegarde et on envoie le etc"
    22. $TAR_COMPRESS etc-$DATE.$BACKUP_EXTENSION /etc/
    23. scp etc-$DATE.$BACKUP_EXTENSION $BACKUP_ADDRESS:$BACKUP_DIR
    24. rm -f etc-$DATE.$BACKUP_EXTENSION
    25.  
    26. echo "On passe au dump MySQL"
    27. MYSQL_USER="root" # User mySQL a utiliser pour faire le dump
    28. MYSQL_PASSWORD="******" # Mot de passe root de la base mySQL
    29. MYSQL_HOST="localhost" # Host de la base mySQL
    30. SQL_LIST_DB="SHOW DATABASES;" # Requete SQL listant toutes les bases
    31.  
    32. cd /home/sav/dumpsql
    33. echo "Dump de toutes les bases MySQL"
    34. mysqldump -p"$MYSQL_PASSWORD" --all-databases > all-databases.$DATE.sql
    35.  
    36. echo "Compression et envoie du dump"
    37. $TAR_COMPRESS  all-databases.$DATE.sql.$BACKUP_EXTENSION all-databases.$DATE.sql
    38. scp all-databases.$DATE.sql.$BACKUP_EXTENSION $BACKUP_ADDRESS:$BACKUP_DIR
    39. rm -f all-databases.$DATE.sql
    40. rm -f all-databases.$DATE.sql.$BACKUP_EXTENSION
    41.  
    42. echo "Dump base par base"
    43. for database in `echo $SQL_LIST_DB | mysql -u $MYSQL_USER -p"$MYSQL_PASSWORD" -h $MYSQL_HOST | sed 1d`
    44. do
    45.  
    46.         mysqldump -p"$MYSQL_PASSWORD" --databases $database > $database.$DATE.sql
    47.  
    48.         $TAR_COMPRESS $database.$DATE.sql.$BACKUP_EXTENSION $database.$DATE.sql
    49.         rm -f $database.$DATE.sql
    50. done
    51.  
    52. echo "On sauvegarde le dump des bases et on l'envoie"
    53. $TAR_COMPRESS dump-$DATE.$BACKUP_EXTENSION /home/sav/dumpsql/*.*.sql.$BACKUP_EXTENSION
    54. scp dump-$DATE.$BACKUP_EXTENSION $BACKUP_ADDRESS:$BACKUP_DIR
    55. rm -f dump-$DATE.$BACKUP_EXTENSION

0 comment about "Backups standard via clés ssh partagées"