我有一个统计应用程序,每分钟运行一次并相应地创建图表。
为了使这些图表可供其他用户使用,我需要复制包含图表的整个文件夹并将其粘贴到其他用户可以看到内容的共享文件夹。
如何自动化此过程,以便例如每 5 分钟更新一次文件和文件夹?
答案1
这听起来像是可以用 rsync 完美解决的问题。最简单的形式可以这样调用
rsync sourceFolder destinationFolder
每 5 分钟在 crontab 中调用一次:
*/5 * * * * /usr/bin/rsync sourceFolder destinationFolder
有关选项、权限、特殊文件或目录的排除,请参阅man rsync
。
答案2
使用 cron 作业,假设您有权添加一个。
crontab -e
0-59/5 * * * * cp -r folder1 folder2
您可能希望在 cp 上使用更好的标志,例如 cp -ur 来仅更新更改的文件。
答案3
打扰一下,但是为什么你需要这些文件复制的那里?
如果用户只是打开/读取文件并且不需要对它们执行活动(例如多个用户编辑同一文件等)...您可以只创建一个到该文件夹的链接,不是吗?然后,对于其中的每个新文件,您的用户都可以即时访问。
尝试一下:
ln -s /original_folder/logs /shared_folder/logs
并避免浪费空间...