Один rsync cronjob работает, но не копирует файлы

Поэтому я собираюсь сделать резервную копию некоторого каталога ключей с моими документами, моим файлом данных MySQL и т. Д. У меня есть набор cronjob, и он, кажется, работает для всех команд в нем. Файлы ежедневно копируются на резервный диск.

Просто тот, кто должен копировать содержимое папки MySQL, просто копирует папку, но не содержимое.

Я оставил косую черту «/» в конце всех каталогов, потому что я прочитал это, чтобы скопировать всю информацию в каталоге.

Любые идеи, почему команда создает и копирует каталог MYSQL в мое хранилище резервных копий, но без файлов. Это проблема с правами доступа, что только пользователь root может сделать это? если да, то как мне это сделать?

Мой файл crontab содержит:

44 4 * * * /usr/bin/rsync -av --delete /var/www/html /media/stan/Seagate\ Expansion\ Drive/backups/
33 3 * * * /usr/bin/rsync -av --delete /home/stan/documents /media/stan/Seagate\ Expansion\ Drive/backups/
03 3 * * * /usr/bin/rsync -av /var/lib/mysql /media/stan/Seagate\ Expansion\ Drive/backups/
02 2 * * * /usr/bin/rsync -av --delete /var/backups /media/stan/Seagate\ Expansion\ Drive/backups/

ОБНОВЛЕНИЕ: Я выполнил определенную команду из командной строки и получил следующие ошибки :

stan@corsair:~$ /usr/bin/rsync -av /var/lib/mysql /media/stan/Seagate\ Expansion\ Drive/backups/
sending incremental file list
rsync: opendir "/var/lib/mysql" failed: Permission denied (13)
mysql/

sent 73 bytes  received 20 bytes  186.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]

РЕДАКТИРОВАТЬ. Решение, которое я использовал Я решил, что rsync не лучший инструмент для этого, так как мне нужно остановить сервер MySQL. Я пошел с предложением @ AB mysqldump.

Последняя команда добавила столь необходимое сжатие, которое экономит примерно 75% места на каждой резервной копии:

mysqldump -u root -pmypass --all-databases | gzip >  /media/stan/Seagate\ Expansion\ Drive/backups/mysql/mysqlbak-$(date  "+\%Y-\%m-\%d_\%H:\%M:\%S").sql.gz
1
задан 12 June 2015 в 18:59

1 ответ

Остановите сервер MySQL перед запуском резервного копирования

sudo service mysql stop

, И у Вас есть проблема разрешения

rsync: opendir "/var/lib/mysql" перестал работать: Разрешение отклонило (13)

, поэтому используют crontab Вашего корня:

sudo crontab -e
<час>

я предпочел бы резервное копирование с mysqldump. Таким образом сервис не должен быть ни остановлен, ни перезапущен.

mysqldump -u root -p --all-databases > /media/stan/Seagate\ Expansion\ Drive/backups/

Или взятый из комментариев ( @NormanBird) ниже, с gzip

mysqldump -u root -pmypass --all-databases | gzip > /media/stan/Seagate\ Expansion\ Drive/backups/mysql/mysqlbak-$(date "+\%Y-\%m-\%d_\%H:\%M:\%S").sql.gz
0
ответ дан 12 June 2015 в 18:59

Другие вопросы по тегам:

Похожие вопросы: