Com ferramentas GNU:
LC_ALL=C find . -name '*.backup' -type f -printf '%TA:%pfind . -name 'backup-*.dump' -type f -print0 |
perl -MTime::Piece -0lne 'print if m{/backup-(\d{4}-\d\d-\d\d)\.dump$}
&& Time::Piece->strptime($1, "%Y-%m-%d")->day ne "Thu"' |
xargs -r0 rm -f
' |
tr 'LC_ALL=C find . -name '*.backup' -type f -printf '%TA:%pfind . -name 'backup-*.dump' -type f -print0 |
perl -MTime::Piece -0lne 'print if m{/backup-(\d{4}-\d\d-\d\d)\.dump$}
&& Time::Piece->strptime($1, "%Y-%m-%d")->day ne "Thu"' |
xargs -r0 rm -f
' |
tr '%pre%\n' '\n%pre%' |
grep -v '^Thursday:' |
cut -d: -f2- |
tr '%pre%\n' '\n%pre%' |
xargs -r0 rm -f
\n' '\n%pre%' |
grep -v '^Thursday:' |
cut -d: -f2- |
tr '%pre%\n' '\n%pre%' |
xargs -r0 rm -f
Isso procura a hora da última modificação dos arquivos. Se o backup foi iniciado na quinta-feira, mas não foi concluído até a manhã de sexta-feira, o horário da última modificação será na sexta-feira.
Se a data de backup estiver no nome do arquivo como backup-2014-04-06.dump
, você faria: