在rsync/mv之前编辑文件


Edit a file before an rsync / mv

我在Centos 6上。我有一个目录,里面装满了xml文件,我想对它们执行编辑,然后rsync或将它们移动到同一服务器上的另一个目录。

我该如何着手做这件事,然后将其设置为连续运行的cronjob?

附加信息:

我想我的问题更多的是:我如何让cron运行一个php脚本,然后在它完成时(只有在完成时)将文件rsync或mv到另一个目录。我不希望php脚本被移动,只希望php脚本编辑的文件被移动。

这是我要编辑的一个样本。我想为每个媒体参考源添加一个绝对路径:

<media media-type="image"> <media-reference source="8084413.jpg" /> <media-caption>blah</media-caption> </media> <media media-type="image"> <media-reference source="8084411.jpg" /> <media-caption>blah</media-caption> </media> <media media-type="image"> <media-reference source="8084414.jpg" /> <media-caption>blah</media-caption> </media>

您可以在cron条目中填充很多内容,但将其封装在脚本中会更整洁:

#!/bin/sh
cd /relevant/directory
touch marker_file
php /path/to/script.php *.xml
find . -name '*.xml -newer marker_file -exec mv {} /destination ';
rm marker_file

然后在cron中,每小时运行一次:

0 * * * * /path/to/above/script

使用以下选项之一编辑您的cron文件:

crontab -e
crontab -l > ~/crontab; edit ~/crontab; crontab ~/crontab