SKM*_*SKM 5 linux cron not-root-user
假设我正在创建两个 crontab 文件。
/tmp/my-crontab
/root/my-alternate-crontab
每个 crontab 文件都被调度以运行不同的脚本。
当我开始 cronjob 时,第一个被替换为旧的。
crontab -u smarak /tmp/my-crontab
crontab -u smarak /root/my-alternate-crontab
Run Code Online (Sandbox Code Playgroud)
以上是否适用于单个用户?
解决单个 crontab 的两种方法。
将您的 crontab 条目放在某个目录中的文件中,例如~/crontab.d/thisandthat.cron
,然后使用以下命令将这些更改提交到系统 crontab:
cat ~/crontab.d/*.cron | crontab -
Run Code Online (Sandbox Code Playgroud)
扩展.cron
是为了避免意外包含来自编辑器的备份文件。请注意,由于所有文件都连接在一起,因此文件中设置的任何变量也将适用于稍后出现的文件。
你也可以做一些类似于如何/etc/cron.hourly
和朋友在 Debian 中实现的事情。主要/etc/crontab
包含这样的规则:
17 * * * * root cd / && run-parts --report /etc/cron.hourly
Run Code Online (Sandbox Code Playgroud)
您可以安排单个 crontab 条目来运行多个程序。Debianrun-parts dir
与Debian类似,for f in dir/* ; do "$f" ; done
只是它跳过奇数文件名,再次避免运行由编辑器等创建的备份文件。
不。每个用户都有一个 crontab。为什么?因为 crontab 是与单个用户关联的所有 cron 作业的“表”(“选项卡”)。
如果您想使用 运行多个任务cron
,只需在 crontab 中添加多行即可。
如果您有多个包含 cron 作业规范的文件,只需将它们连接起来即可:
cat crontab1 crontab2 crontab3 >my-crontab
crontab my-crontab
Run Code Online (Sandbox Code Playgroud)