Se não houver problema em gravar em ~/destination.0
em datas pares e ~/destination.1
em datas ímpares, a seguinte linha crontab deverá funcionar. Ele inicia o backup à meia-noite (0 min, 0 hora, os dois primeiros itens na linha),
0 0 * * * echo cd dir2copy;dtmp=$(( $(/bin/date '+%d') % 2 ));echo /bin/cp * ~/destination."$dtmp"
Veja este link para uma explicação da sintaxe do crontab,
Agendando tarefas com trabalhos em cronograma
Teste a parte do comando da linha em uma janela de terminal,
echo cd dir2copy;dtmp=$(( $(/bin/date '+%d') % 2 ));echo /bin/cp * ~/destination."$dtmp"
e quando ele funciona, você pode substituir cd dir2copy
por cd to-the-actual-directory-you-want-to-copy
, substituir ~
por /home/your-home-directory
e remover as duas palavras echo
para fazer o trabalho real.
Teste novamente e modifique a linha de crontab. (O ambiente no crontab é tal que você pode precisar de caminhos completos explícitos para programas, diretórios e arquivos de dados.)
/bin/date '+%d'
encontra o dia do mês e %
é a operação restante, que produz um 0
ou 1
, que é anexado no final da linha de comando.
Você pode preferir /bin/date '+%j'
, que encontra o dia do ano, por exemplo, hoje, 1º de dezembro, dia #335
.