在 crontab 中添加任务

在 crontab 中添加任务

我正在使用 Linux 环境(Ubuntu 9.something)。我使用了以下命令:

crontab -u myusername /home/myusername/test_cron_file

效果很好。当我检查假脱机文件夹时,一切都正常。

问题就在这里。如果我想使用一个附加文件,比如说,该怎么办?test_cron_file_2我只想将该文件附加到同一个用户。我该怎么做?

答案1

尝试这个:

cat /home/myusername/test_cron_file_2 >> /home/myusername/test_cron_file
crontab -u myusername /home/myusername/test_cron_file

答案2

首先创建一个单独的文件,然后运行 ​​crontab

cat /home/myusername/test_cron_file /home/myusername/test_cron_file2 > test_cron_file3
crontab -u myusername test_cron_file3

答案3

cron 并不想处理你的文件。它有一个每个用户的条目列表,你可以通过编辑文件向它提交该条目列表,但它他的列表,不是你的;并且没有指定多个列表的选项。

您想要做的事情构成了可怕的安全风险,但是当您使用 PHP 时这已经暗示了,所以我只是在这里简要地提一下,然后就此打住。

您可以让每个用户编辑自己的文件。您为每个用户分配一个文件名,并授予他们一些访问权限,以便他们可以编辑它。但是,就像crontab提供在您这样做时更新其表的功能一样crontab -e,您必须提供一些功能来在用户完成文件编辑后更新 crontab 列表。如果您愿意,您可以提供 CGI 或 PHP 脚本来从他们的浏览器中执行此操作。

该脚本需要将所有现有的用户文件合并为一个(cat主要会处理这个问题,您只需要确保每个文件都以换行符结尾),然后您可以使用crontab <file>最新版本的组合文件来更新组合的 crontab。

答案4

好吧,我试图做的是涉及 PHP 的更复杂的事情。但是,评论的那两个人是对的。这实际上无法完成。

要回答关于 PHP 的问题,我需要将我想要显示的每一行附加到 /etc/cron.d/anacron 文件中。这是我发现的最简单的解释,可以实现我想要的功能。

感谢所有回答的人。

相关内容