Para inserir a data atual no nome do arquivo, chame o comando date
em uma substituição de comando .
tar -czf monitor-$(date -d %Y-%m-%d).tar.gz …
Eu recomendo usar um formato de ano-mês-dia para a data por vários motivos: a ordem lexicográfica corresponde à ordem cronológica; não há risco de confusão entre o mês-dia-ano dos EUA e o dia-mês-ano do resto do mundo; é um padrão ISO.
Para excluir vários diretórios, você precisa repetir --exclude
para cada um deles: se você escrever tar -czf monitor.tar.gz --exclude dir1 dir2
, então dir2
é um caminho para incluir no arquivamento, apenas dir1
é um argumento para --exclude
.
tar -czf monitor-$(date -d %Y-%m-%d).tar.gz --exclude /var/www/html/monitor/cache /var/www/html/monitor/log /var/www/html/monitor
Para armazenar arquivos que foram modificados após uma determinada data, passe a opção --newer
. Você pode especificar um arquivo de referência ou uma data. É muito mais confiável trabalhar com um arquivo de timestamp: crie esse arquivo antes de cada backup e use o arquivo timestamp do backup anterior como referência para o próximo.
touch monitor-backup.timestamp.new
tar … --newer=./monitor-backup.timestamp
mv -f monitor-backup.timestamp.new monitor-backup.timestamp
Você parece estar usando seu próprio sistema de backup incremental. Isto é surpreendentemente difícil de fazer de forma confiável. Recomendo usar um aplicativo de backup existente, como a Duplicidade .