No linux, eu quero ouvir as alterações dentro de uma árvore de diretórios e arquivos de backup se eles forem alterados

0

Se houver alguma alteração no ~/mydir , quero copiá-lo para ~/someotherdir/mydir_revisions/04-02-2013 (que é a data de hoje). Deve continuar a copiar para este mesmo diretório por 1 semana. Depois disso, ele deve criar um novo diretório ( ~/someotherdir/mydir_revisions/04-09-2013 , que é a data desse dia e continuar usando esse diretório por uma semana). Esses backups continuariam indefinidamente, sempre utilizando uma data específica por uma semana inteira antes de atualizar a data.

Se for importante, estou usando o Archlinux e copiando para um sistema de arquivos diferente. Como posso fazer isso com incron ou qualquer outro pacote recomendado?

    
por Raj 03.04.2013 / 01:59

1 resposta

2

Dependendo da sua distribuição, existe o pacote incrond .

O que este pacote faz é receber eventos do sistema de arquivos do kernel via inotify .

Sua configuração seria algo como:

/path/to/monitored/directory IN_MODIFY /path/to/script/to/execute

Digamos que você tenha o seguinte script em $HOME/incron-move.sh , com o seguinte:

#!/bin/sh
WEEK_OF_YEAR='date +"%W"'
cp -ar $HOME/mydir /other/dir/mydir_revisions/$WEEK_OF_YEAR

O que esse script faz é copiar o conteúdo completo de /path/to/monitored/directory para /other/dir/mydir_revisions/13 se ele fosse executado hoje (02/04/2013, na 13ª semana do ano)

Não é o requisito completo do seu, mas resolve seu problema com algum grau de confiabilidade.

    
por 03.04.2013 / 02:08

Tags