Advertisement
Gistrec

Linux backup + cron

Apr 3rd, 2019
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.55 KB | None | 0 0
  1. /**
  2.  * Скрипт делает бекап файлов и бд
  3.  * Файл /home/backup.sh
  4.  */
  5.  
  6. #!/bin/bash
  7. ####################################
  8. #
  9. # Backup to NFS mount script.
  10. #
  11. ####################################
  12.  
  13. # Папки для резервного копирования
  14. backup_files="/home/likepanel /home/devlikepanel"
  15.  
  16. # В какую папку помещаем наш бекап.
  17. dest="/root"
  18.  
  19. # Название файла бекапа вида 22:36:43|03-апр-2019
  20. day=$(date "+%H:%M:%S|%d-%h-%Y")
  21. archive_file="backup-$day.tar.gz"
  22.  
  23. # Print start status message.
  24. echo "Backing up $backup_files to $dest/$archive_file"
  25.  
  26. ############### MYSQL BACKUP ###############
  27. echo "Backup MySQL likepanel\n"
  28. mysqldump -u root -pPASSWORD database >> /home/likepanel/"$day".sql
  29.  
  30. echo "Backup files"
  31. # Создаем бекап, за исключением папок node_modules
  32. tar --exclude='/home/likepanel/node_modules'   \
  33.     --exclude='/home/devlikepanel/node_modules' \
  34.     --exclude='/home/likepanel/.*'              \
  35.     --exclude='/home/devlikepanel/.*'           \
  36.     -cvzf $dest/$archive_file $backup_files
  37.  
  38.  
  39. # Удаляем MySQL dump
  40. rm /home/likepanel/"$day".sql
  41.  
  42.  
  43. echo
  44. echo "Backup finished"
  45. date
  46.  
  47. # Long listing of files in $dest to check file sizes.
  48. ls -lh $dest
  49.  
  50.  
  51.  
  52.  
  53. /**
  54.  * Добавляем в крон задачу на бекап каждые 4 часа
  55.  */
  56. crontab -u username -e
  57.  
  58. # В открывшемся редакторе вводим
  59. 0 */6 * * * /home/backup.sh
  60.  
  61. # И сохраняем
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement