Advertisement
Guest User

Untitled

a guest
Sep 9th, 2019
368
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. USER="user"
  4. PASSWORD="pass"
  5. DUMP="temp"
  6. DIRWEB="src"
  7. DATE=`date +%Y-%m-%d`
  8. TIME=`date +%H-%M-%S`
  9. OUTPUT=$DUMP/$DATE
  10. PASSZIP="zip_pass"
  11. REMOTE_DST_DIR="dir"
  12. DST_HOST="srv"
  13. BACKUP_RETENTION_DAILY=120
  14.  
  15. if ! [ -d $OUTPUT ]; then
  16. mkdir -p $OUTPUT
  17. chmod -R 755 $OUTPUT
  18. fi
  19.  
  20. function DB
  21. {
  22. databases=`mysql --user=$USER --password=$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
  23. for db in $databases; do
  24. if [[ "$db" != "information_schema" ]] && [[ "$db" != _* ]] ; then
  25. cd $OUTPUT
  26. echo "Dumping database: $db"
  27. mysqldump --force --opt --user=$USER --password=$PASSWORD --databases $db > $db.$DATE.$TIME.sql
  28. zip -P $PASSZIP $db.$DATE.$TIME.zip $db.$DATE.$TIME.sql
  29. rm $db.$DATE.$TIME.sql
  30. fi
  31. done
  32. }
  33.  
  34. function WEB
  35. {
  36. WEBDIRS=`cd $DIRWEB && ls -d *`
  37. for WEBDIR in $WEBDIRS; do
  38. cd $DIRWEB
  39. echo "Dumping site: $WEBDIR"
  40. zip -P $PASSZIP -r $OUTPUT/$WEBDIR.$DATE.$TIME.zip $WEBDIR
  41. done
  42. }
  43.  
  44. function ZIP
  45. {
  46. cd $OUTPUT
  47. echo "ZIP: SITE.$DATE.$TIME.zip"
  48. zip -P $PASSZIP SITE.$DATE.$TIME.zip *.zip -x "SITE.*.zip"
  49. ZIPS=`cd $OUTPUT && ls *.zip`
  50. for zip in $ZIPS; do
  51. if [[ "$zip" != SITE.*.zip ]]; then
  52. echo "RM ZIP: $zip"
  53. rm $OUTPUT/$zip
  54. fi
  55. done
  56. }
  57.  
  58. function BACKUP
  59. {
  60. cd $OUTPUT
  61. echo "BACKUP: SITE.$DATE.$TIME.zip"
  62. echo "put -r SITE.$DATE.$TIME.zip $REMOTE_DST_DIR" | sftp $DST_HOST
  63. ssh -t -t $DST_HOST "cd $REMOTE_DST_DIR ; ls -t | grep SITE | sed -e 1,"$BACKUP_RETENTION_DAILY"d | xargs -d '\n' rm -R > /dev/null 2>&1"
  64. cd $DUMP
  65. ls -t | tail -n +3 | xargs rm -rf
  66. }
  67.  
  68. DB
  69. WEB
  70. ZIP
  71. BACKUP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement