Precisa sincronizar diretórios locais e remotos em tempo real - Linux

2

Gostaria de ter uma cópia de um site na minha unidade local. Então, quando eu fizer alterações nessa cópia, essas alterações serão atualizadas automaticamente no servidor do site. O ideal é que eu gostaria de dizer para fazer isso apenas para certos tipos de arquivos. Alguém sabe de uma maneira de fazer isso com o Linux?

    
por Cyrcle 18.05.2010 / 22:40

2 respostas

4

Você pode usar inotify-tool para fazer isso.

Veja a seção "inotifywait exemplo 1 (graças a Nick Lothian)" por um exemplo de fazer o que você descreve usando o rsync.

Você pode precisar modificá-lo para usar o ftp, ou o que for, dependendo da configuração.

É bastante trivial verificar a extensão do arquivo ou usar o comando file para determinar o tipo de arquivo antes de decidir transferir o arquivo.

EDIT: Veja também incron . É um crontab baseado em eventos, em vez de um crontab baseado no tempo. Executar as coisas a cada minuto, apenas no caso de algo ter mudado, não é uma solução ideal.

    
por 18.05.2010 / 23:49
0

Em teoria, deve haver um espaço para monitorar certas pastas em busca de alterações e, se forem feitas alterações, tenha um script para transferi-las automaticamente para seu servidor da Web (presumivelmente via SCP ou S / FTP).

Na pior das hipóteses, você (ou encontra alguém para fazer isso por você) pode escrever um script que verifica horários modificados para determinadas pastas e tipos de arquivo e faz com que ele transfira automaticamente os arquivos para você. O script pode ser executado em um cronjob a cada minuto ou mais.

    
por 18.05.2010 / 22:45

Tags