![文件发生更改时运行的(cron)作业](https://linux22.com/image/764361/%E6%96%87%E4%BB%B6%E5%8F%91%E7%94%9F%E6%9B%B4%E6%94%B9%E6%97%B6%E8%BF%90%E8%A1%8C%E7%9A%84%EF%BC%88cron%EF%BC%89%E4%BD%9C%E4%B8%9A.png)
我需要每天运行一次命令来备份实时的 sqlite db。只有如果数据库文件已经改变自上次备份以来。如何在 Centos 8 上实现?
答案1
该touch
命令可以将一个文件的时间设置为与另一个文件相同。 BASH shell 可以test
查看一个文件是否比另一个文件更新[ a -nt b ]
。然后您可以执行的操作是
- 使用触摸将参考文件的时间设置为与数据库文件时间相同。
然后每天运行一次脚本,检查数据库文件是否比参考文件更新。
- 如果它较新,则更新参考文件的时间以与数据库文件相同并备份数据库文件。
- 否则什么也不做。