Advertisement
Guest User

Untitled

a guest
May 10th, 2018
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ##################################################
  4. # Ce script effectue une sauvegarde des bases de
  5. # données et du dossier des sites et transfert
  6. # cette sauvegarde sur un serveur FTP
  7. ##################################################
  8.  
  9. ##############################################
  10. # Variables à modifier
  11. ##############################################
  12.  
  13. #hote FTP
  14. FTP_SERVER=""
  15. #login FTP
  16. FTP_LOGIN=""
  17. #pass FTP
  18. FTP_PASS=""
  19.  
  20. FTP_SERVER_HOME=""
  21. #login FTP
  22. FTP_LOGIN_HOME=""
  23. #pass FTP
  24. FTP_PASS_HOME=""
  25.  
  26. #Utilisateur MySQL
  27. MUSER=""
  28. #pass MySQL
  29. MPASS=""
  30. #hote MySQL
  31. MHOST="localhost"
  32. #Dossier à sauvergarder (dossier dans lequel les sites sont placés)
  33. DIRSITES="/var/www/"
  34.  
  35. ##############################################
  36. # dossiers temporaires crées (laissez comme ça, ou pas)
  37. ##############################################
  38.  
  39. #Dossier de sauvegarde temporaire des dumps sql
  40. DIRSAVESQL="daily_backup/sql"
  41. #Dossier de sauvegarde temporaire des sites
  42. DIRSAVESITES="daily_backup/sites"
  43.  
  44.  
  45. ##############################################
  46. #
  47. ##############################################
  48. MYSQL="$(which mysql)"
  49. MYSQLDUMP="$(which mysqldump)"
  50. GZIP="$(which gzip)"
  51. PBZIP2="$(which pbzip2)"
  52. TAR="$(which tar)"
  53. DBS="$(mysql -u $MUSER -h $MHOST -p$MPASS -Bse 'SHOW DATABASES')"
  54. DATE_FORMAT=`date +%Y-%m-%d`
  55.  
  56. if [ ! -d $DIRSAVESITES ]; then
  57. mkdir -p $DIRSAVESITES
  58. else
  59. :
  60. fi
  61. if [ ! -d $DIRSAVESQL ]; then
  62. mkdir -p $DIRSAVESQL
  63. else
  64. :
  65. fi
  66.  
  67. echo "Sauvegarde des bases de données :"
  68. for db in $DBS
  69. do
  70. echo "Database : $db"
  71. FILE=$DIRSAVESQL/mysql-$db-$DATE_FORMAT.bz2
  72. `$MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db --single-transaction --qui$
  73. done
  74.  
  75. echo "Creation de l'archive des dumps"
  76. `$TAR -cvzf base-$DATE_FORMAT.tar.bz2 $DIRSAVESQL`
  77.  
  78. echo "Création de l'archive des sites"
  79. `$TAR -cvzf sites-$DATE_FORMAT.tar.gz $DIRSITES`
  80.  
  81. echo "Connexion au serveur FTP et envoi des données"
  82. ftp -n $FTP_SERVER <<END
  83. user $FTP_LOGIN $FTP_PASS
  84. put base-$DATE_FORMAT.tar.bz2 /base-$DATE_FORMAT.tar.bz2
  85. put sites-$DATE_FORMAT.tar.gz /sites-$DATE_FORMAT.tar.gz
  86. quit
  87. END
  88.  
  89. ftp -n $FTP_SERVER_HOME <<END
  90. user $FTP_LOGIN_HOME $FTP_PASS_HOME
  91. put base-$DATE_FORMAT.tar.bz2 /base$
  92. put sites-$DATE_FORMAT.tar.gz /site$
  93. quit
  94. END
  95.  
  96. echo "Suppression de l'archive de sauvegarde SQL"
  97. rm -Rf $DIRSAVESQL
  98. rm base-$DATE_FORMAT.tar.bz2
  99. echo "Suppression de l'archive de sauvegarde des sites"
  100. rm -R $DIRSAVESITES
  101. rm sites-$DATE_FORMAT.tar.gz
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement