我有一个静态目录:/var/tmp/files
此目录仅与用户共享以通过SFTP
上传/下载,它有一些静态文件名,例如:
recording-security.frontdoor.avi
recording-security.backdoor.avi
recording-security.parkingspace.avi
....
从另一台PC通过SFTP
这些文件被删除/编辑/更新/添加等
现在是另一条道路:/var/www/html/livevideo-stream/
复制这些文件,从/var/tmp/files
移动
如何使用BASH读取这些文件被编辑或新添加或覆盖?那么,我的脚本可以将有效内容从/ var / tmp / files移动到livevide-stream只有那些已被修改或新添加的内容等?
$ crontab i have:
0 7 * * * /var/tmp/finishit.sh
0 8 * * * /var/tmp/finishit.sh
0 9 * * * /var/tmp/finishit.sh
0 19 * * * /var/tmp/finishit.sh
0 20 * * * /var/tmp/finishit.sh
$ cat /var/tmp/finishit.sh
#!/bin/bash
cd /var/tmp/files
while :
do
"""
how do we now validate those files which was modified or changed or newly added and place them in that directory?
"""
# echo $1 $2
cp -R /var/tmp/files/* /var/www/html/livevideo-stream/
sleep 1
done
答案 0 :(得分:1)
您的cron
每小时会多次启动您的脚本,并且由于while :
循环,您的脚本不会终止...您最终会遇到很多后台脚本试图复制内容永远第二。
您只需用
替换整个脚本即可rsync -vaq /var/tmp/files/* /var/www/html/livevideo-stream/