Возьмите резервную копию и удалите ее через 6 часов

Я хочу создать bash-скрипт, который берет резервную копию файла abc.txt и удаляет эту резервную копию через 6 часов после ее создания.

Есть ли эффективный способ сделать это?

2
задан 5 June 2017 в 10:07

1 ответ

Я не уверен, что является вариантом использования, но Вы могли просто сделать:

cp abc.txt abc.txt.bak && sleep $((60 * 60 * 6)) && rm abc.txt.bak
  • && оператор оценки короткого замыкания, команда после того, как это будет только выполнено, если предыдущий выйдет со статусом выхода 0

  • cp abc.txt abc.txt.bak делает резервное копирование abc.txt с a .bak расширение т.е. резервное копирование называют abc.txt.bak (измените это для удовлетворения потребностей),

  • sleep $((60 * 60 * 6)) сны в течение 6 часов т.е. 21 600 секунд

  • rm abc.txt.bak удаляет резервное копирование после времени, в котором спят,


Можно усилить расширение фигурной скобки для краткости, если Вы хотите:

cp abc.txt{,.bak} && sleep $((60 * 60 * 6)) && rm abc.txt.bak

Или как (GNU) sleep поддержки h суффикс для указания на часы (благодарит @muru за напоминание):

cp abc.txt{,.bak} && sleep 6h && rm abc.txt.bak
9
ответ дан 5 June 2017 в 10:07

Другие вопросы по тегам:

Похожие вопросы: