rsync: diretório de backup localmente antes de sincronizar a partir do remoto

1

Eu tenho uma base de código no meu servidor de produção que é sincronizado a partir de um diretório remoto. Uma coisa que eu quero melhorar no processo de rsync é fazer uma cópia local antes de acontecer e escrever os arquivos originais. Algo como

before syncing files from remote :
cp -rf production_code_base production_code_base_old
now syncing remote changes to the production directory

Existe uma maneira de fazer isso?

    
por Shawn 15.12.2010 / 02:28

2 respostas

2

além da opção --backup-dir (que não usei, por isso não tenho certeza se é apropriado), você poderia fazer um 'backup de link físico' com cp -al production_code_base production_code_base_old . É muito rápido, já que não copia os dados e não ocupa espaço para arquivos inalterados.

Observação: Isso é seguro neste caso específico porque rsync nunca abre um arquivo existente para gravação, ele grava tudo em arquivos temporários e termina com mv depois disso. Outros sistemas de transferência podem sobrescrever arquivos existentes, destruindo o 'backup' de link físico.

    
por 15.12.2010 / 03:12
2

Bem, existem muitas maneiras de fazer isso. Como o comando cp que você acabou de postar. Ou você pode usar a opção --backup-dir para rsync.

Mas o que você está tentando realizar? É melhor que seja feito com controle de versão adequado?

    
por 15.12.2010 / 02:35

Tags