我正在使用ubuntu,我已经编写了一个python程序来清理我的下载文件夹,并编写了执行该程序的shell脚本。但我每次都需要手动运行脚本。当一个新文件被添加到该文件夹时,有没有任何方法可以自动运行脚本?我知道没有什么可以监视文件夹的,但如何让脚本从重新启动时就运行并设置corn??
我不太明白为什么你从bash脚本运行Python脚本,而这个Python脚本确实清理了你的下载文件夹。我认为如果你只运行一个直接清理下载的bash脚本会容易得多。这个脚本看起来是这样的:
#!/bin/bash
/usr/bin/rm -rf /home/<your_username>/Downloads
并将其保存为somescript.sh。只需记住替换<您的用户名>具有适当的值。至于如何安排运行脚本,一种方法是在linux中使用crontab实用程序。它允许您在特定时间运行程序。你可以在这里找到一些例子:crontab问题,这里是crontab教程,这里是关于crontab的。比方说,我们想在特定的时间运行上面的脚本。首次运行:
$ sudo crontab -e
打开crontab编辑器。然后,您需要插入以下行来安排每天下午6点运行somescript:
0 18 * * * /<path_to_the_script>/somescript.sh >/dev/null 2>&1
crontab中的条目具有以下形式:
minutes hour day month weekday (path to the script)
如果您需要从指定时间开始的帮助,您可能需要查看crontab生成器。此外,只需确保脚本具有正确的权限,即可以执行等。保存crontab文件后,它将自动安排。如果您想安排一个任务运行一次,您可能需要查看上的命令行工具about at command。
请注意,你应该更仔细地准备你的问题,以确保每个人都理解你。理想情况下,请提供一些示例。这样你就有更好的机会得到一个对你有实际帮助的答案,所以我认为这是一笔不错的交易。欢迎加入社区:(
为了让程序始终在UNIX/Linux系统上运行,您可以使用五个星号将其添加到crontab中,如本serverfault文章中所述。
最好的方法是在crontab中添加一个rm
命令,在末尾使用2</dev/null
,以便显示错误消息(如果文件不存在(,而不是淹没日志。