在 Linux 中,我想要监听目录树中的更改,并在更改后备份文件

在 Linux 中,我想要监听目录树中的更改,并在更改后备份文件

如果 有任何变化~/mydir,我想将其复制到~/someotherdir/mydir_revisions/04-02-2013(即今天的日期)。它应该继续复制到同一目录 1 周。此后,它应该创建一个新目录(~/someotherdir/mydir_revisions/04-09-2013,即当天的日期并继续使用该目录一周)。这些备份将无限期地继续,始终使用特定日期一整周,然后再更新日期。

如果这很重要,我正在使用 Archlinux 并复制到不同的文件系统。我该如何使用因克龙或者还有其他推荐的套餐吗?

答案1

根据您的发行版,有一个包incrond

这个包的作用是,它通过从内核接收文件系统事件inotify

你的设置如下:

/path/to/monitored/directory IN_MODIFY /path/to/script/to/execute

假设您在 中有以下脚本$HOME/incron-move.sh,并执行以下操作:

#!/bin/sh
WEEK_OF_YEAR=`date +"%W"`
cp -ar $HOME/mydir /other/dir/mydir_revisions/$WEEK_OF_YEAR

此脚本的作用是,如果它今天运行(2013 年 2 月 4 日,是一年中的第 13 周),则将全部内容复制/path/to/monitored/directory/other/dir/mydir_revisions/13

这不是您的全部要求,但可以一定程度的可靠性解决您的问题。

相关内容