Estou tentando usar o rsync para copiar uma pasta de backup em uma máquina local para outra máquina diariamente (em caso de perda de dados ou exclusão acidental). Isso é executado como um cronjob.
Eu apenas o comando
rsync -av --rsh='ssh -p90' --delete /backup/ [email protected]:~/dabackup/
Da conta root
no servidor um ( tent
).
No entanto, no primeiro servidor, as permissões em cada um dos subdiretórios são definidas para que você não possa entrar nelas, a menos que você seja root (nenhuma permissão de execução nas pastas), isso é algo que não posso mudar facilmente o software de backup funciona.
Isso significa que, no segundo servidor ( mydomain.com
), a conta tentbackup
não tem permissão para ir para as pastas que o rsync está criando, resultando nos seguintes erros
root@tent:~$ rsync -av --rsh='ssh -p92' --delete /backup/ [email protected]:~/dabackup/
building file list ... done
03-05-11/apache/
rsync: recv_generator: mkdir "/home/tentbackup/dabackup/03-05-11/apache" failed: Permission denied (13)
*** Skipping any contents from this failed directory ***
03-05-11/bind/
rsync: recv_generator: mkdir "/home/tentbackup/dabackup/03-05-11/bind" failed: Permission denied (13)
*** Skipping any contents from this failed directory ***
03-05-11/custom/
rsync: recv_generator: mkdir "/home/tentbackup/dabackup/03-05-11/custom" failed: Permission denied (13)
etc...
Eu poderia contornar esse problema usando [email protected]
( server two
) mas obviamente eu não quero chaves ssh para a conta raiz armazenada em server one
( tent
).
Como posso com segurança permitir que a permissão rsync
crie essas subpastas e arquivos?
Mesmo quando estiver conectado ao servidor dois diretamente como "tentbackup", não posso me mover para os diretórios ou criar arquivos dentro deles
tentbackup@brave:~/dabackup$ cd 03-20-11/
bash: cd: 03-20-11/: Permission denied
tentbackup@brave:~/dabackup$ mkdir 03-20-11/test -p
mkdir: cannot create directory '03-20-11': Permission denied
tentbackup@brave:~/dabackup$ touch 03-20-11/test
touch: cannot touch '03-20-11/test': Permission denied