我通过Dropbox (自行车计算机->Dropbox->我的PC)将一个文件从自行车计算机上传到我的PC上,并希望在发生这种情况时启动Python程序。今天,我有一个CRON条目,每5分钟运行一次,查找一个文件,但是我希望在文件上传时触发这个进程。
我已经安装了INCRON,并定义了一个事件表来测试上传文件时这是否有效。此测试的事件表(以及我的经验):
/home/dave/Dropbox/apps/WahooFitness/ IN_CLOSE_WRITE /bin/bash /home/dave/Scripts/WahooFileFound.sh $#
/home/dave/Dropbox/Test/ IN_CLOSE_WRITE /bin/bash /home/dave/Scripts/TestFileFound.sh $#“incrontab”的第一行是从我的自行车电脑上传一个文件。第二个只是一个测试,因为我每天只骑一次车。一旦我确信这个测试将工作,我将安排一个Python程序运行时,真正的自行车电脑文件被上传。
我可以看到,当我在文件夹中创建一个新文件时,会触发该事件:
Feb 02 15:27:16 davesdesktop incrond[561422]: PATH (/home/dave/Dropbox/Test/) FILE (TestFileFound.txt) EVENT (IN_CLOSE_WRITE)
Feb 02 15:27:16 davesdesktop incrond[561422]: (dave) CMD (/home/dave/Scripts/TestFileFound.sh TestFileFound.txt)INCRON说脚本已经启动,但没有执行。如果我从命令行运行脚本,它将按预期工作,在/tmp中生成文件并发送电子邮件。剧本:
#!/bin/bash
set -eu
# Original: V1
echo "From TestFileFound.sh: Test File '$1' from '$HOME/Dropbox/Test' was found!!!!" > /tmp/TestFileFound_Message.txt
# Send email
EMAIL=""
SUBJ="Test File from '$HOME/Dropbox/Test' was found!!!!"
mail -s "$SUBJ" "$EMAIL" < /tmp/TestFileFound.txt
exit它被标记为可执行文件:
[15:20:30 ~]$ ls -l Scripts/Test*.sh
-rwxrwxr-x 1 dave dave 312 Feb 2 15:22 Scripts/TestFileFound.我没有在/tmp文件夹中看到由“回声”消息创建的文件,也没有看到由INCRON事件触发该脚本时的任何电子邮件。
我有各种脚本和Python程序计划由我的用户CRON成功地创建电子邮件通知我时,他们已经完成,我看到这些电子邮件在我的GMAIL收件箱。
当INCRON触发这个脚本时,我没有做错什么或者做错了什么?
提前感谢您所能提供的任何解决方案或建议。
戴夫
发布于 2023-02-09 15:56:57
更多信息可在https://hackaday.com/2020/10/28/linux-fu-troubleshooting-incron/获得
谢谢你所有的建议!
https://askubuntu.com/questions/1454126
复制相似问题