У меня это работает так. Каждое N-количество времени запускает скрипт, который архивирует tar`ом содержимое htdocs из /var/www, делает sql дампы, раскладывает это по соответствующим директориям, потом раскладывает это всё по директориям с датой. Кому лень это писать самому - забирайте.
  1. #!/bin/bash
  2.  
  3. dir=$1
  4. date=`date \ \%d-%m-%y`
  5. d_dir=$2/$date
  6. sql_pass=$3
  7.  
  8. mkdir -p $d_dir/files
  9. mkdir -p $d_dir/sql
  10.  
  11. echo "${date}: Начало процесса полного бекапа.
  12. ---------------------------------------------------
  13. " >> /var/log/backup.log
  14.  
  15. for i in $(ls -1 $dir);
  16. do
  17.         file=$i.tar
  18.         tar -cvf /tmp/$file $dir/$i/htdocs/* &&
  19.         mv /tmp/$file $d_dir/files/$file &&
  20.         echo "Архив с сайтом ${i} записан" >> /var/log/backup.log
  21. done
  22.  
  23. dbs=$(mysql -uroot -p$sql_pass -e "show databases;" | grep [:alnum:])
  24.  
  25. for i in $dbs;
  26. do
  27.         if [ "$i" == "Database" ] || [ "$i" == "information_schema" ] || [ "$i" == "mysql" ]
  28.         then
  29.                 continue
  30.         fi
  31.  
  32.         file=$i.sql
  33.         mysqldump -uroot -p$sql_pass $i > /tmp/$file &&
  34.         mv /tmp/$file $d_dir/sql/$file &&
  35.         echo "SQL-файл ${i} записан" >> /var/log/backup.log
  36. done
  37.  
  38. echo "--------------------------------
  39. backup завершён" >> /var/log/backup.log
Запускать так: ./backup.sh директория_с_сайтами куда_копируем_бекапы пароль_от_mysql Пароль от Mysql естественно должен быть для текущего пользователя (от чьего имени запускается скрипт). В cron можно добавить нечто вроде этого:
0 6 * * * backup.sh /var/www /mnt/net_disk secret_password
Почти забыл. В итоге мы будем иметь вот что:
  1. site sb0y # ls -R /mnt/net/smb_bkp/
  2. /mnt/net/smb_bkp/:
  3. 06-05-10  07-05-10
  4.  
  5. /mnt/net/smb_bkp/06-05-10:
  6. files  sql
  7.  
  8. /mnt/net/smb_bkp/06-05-10/files:
  9. for_1c.zip     localhost.zip  new_kardos.ru.zip  zif1W5dm
  10. kardos.ru.zip  magazine.zip   workground.zip
  11.  
  12. /mnt/net/smb_bkp/06-05-10/sql:
  13. kardos_ru_new.sql  kardos_ru.sql  magazineBeta.sql  magazine.sql
  14.  
  15. /mnt/net/smb_bkp/07-05-10:
  16. files  sql
  17.  
  18. /mnt/net/smb_bkp/07-05-10/files:
  19. for_1c.zip     localhost.zip  new_kardos.ru.zip
  20. kardos.ru.zip  magazine.zip   workground.zip
  21.  
  22. /mnt/net/smb_bkp/07-05-10/sql:
  23. kardos_ru_new.sql  kardos_ru.sql  magazineBeta.sql  magazine.sql


Статью пока никто не комментировал. Ваш комментарий может стать первым.

Войдите или зарегистрируйтесь, чтобы написать комментарий.