Então, minha intenção é fazer backup de algum diretório-chave com meus documentos e meu arquivo de dados MySQL, etc. Eu tenho um conjunto de tarefas e ele parece funcionar para todos os comandos lá. Os arquivos são copiados diariamente em uma unidade de backup.
É só que o que é suposto copiar o conteúdo da pasta MySQL, é apenas copiar a pasta, mas sem conteúdo.
Eu deixei a barra "/" desligada no final de todos os diretórios porque eu li isso significa copiar todas as informações no diretório.
Alguma idéia de porque o comando cria e copia o diretório MYSQL para meu local de backup, mas nenhum arquivo. É uma coisa de permissões que apenas o usuário root pode fazer isso? se sim, como faço isso?
Meu arquivo crontab contém:
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/
ATUALIZAÇÃO:
Eu corri o comando em particular a partir da linha de comando e recebi os erros abaixo:
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]
EDIT. Solução que usei
Eu decidi que o rsync não é a melhor ferramenta para isso, já que tenho que parar o servidor MySQL. Eu fui com a sugestão mysqldump do @ AB.
O comando final adicionou muita compactação necessária, que economiza 75% de espaço em cada backup:
mysqldump -u root -pmypass --all-databases | gzip > /media/stan/Seagate\ Expansion\ Drive/backups/mysql/mysqlbak-$(date "+\%Y-\%m-\%d_\%H:\%M:\%S").sql.gz