如何在Ubuntu 16.04 LTS中控制cron?
旧的gnome-schedule
程序(在Raspbian Jessie下工作正常)在Ubuntu中已被弃用,从Ubuntu 14.04 LTS开始。
那么我们如何在Ubuntu 16.04中控制cron作业呢?
由于目前还没有基于GUI的cron
控制器可用于Ubuntu 16.04,我们必须回到始终有效的老派方法 – 从命令行执行:
官方Ubuntu文档:CronHowto
精选摘录:
如需指导,您可以随时使用
man crontab
要编辑cron程序,请使用以下命令:
crontab -e
从手册页:
Crontab线
每行包含五个时间和日期字段,后跟一个命令,后跟一个换行符(’\ n’)。 字段由空格分隔。 五个时间和日期字段不能包含空格。 五个时间和日期字段如下:分钟(0-59),小时(0-23,0 =午夜),白天(1-31),月(1-12),工作日(0-6, 0 =星期天)。
01 04 1 1 1 /usr/bin/somedirectory/somecommand
上面的例子将在1月1日上午4:01和1月的每个星期一运行/ usr / bin / somedirectory / somecommand。
可以使用星号(*),以便使用时间段的每个实例(每小时,每个工作日,每月等)。
01 04 * * * /usr/bin/somedirectory/somecommand
上面的例子将在每个月的每一天凌晨4:01运行/ usr / bin / somedirectory / somecommand。
逗号分隔值可用于在一段时间内运行特定命令的多个实例。 划线分隔值可用于连续运行命令。
01,31 04,05 1-15 1,6 * /usr/bin/somedirectory/somecommand
以上示例将在每年1月和6月1日至15日凌晨4:00和凌晨5:00之后的01和31运行/ usr / bin / somedirectory / somecommand。
上面示例中的“/ usr / bin / somedirectory / somecommand”文本表示将在指定时间运行的任务。 建议您使用所需命令的完整路径,如上例所示。 在终端中输入somecommand以查找somecommand的完整路径。 crontab将在正确编辑和保存后立即开始运行。
您可能希望每个时间单元运行一次脚本若干次。 例如,如果要每10分钟运行一次,请使用以下crontab条目(在可被10:0,10,20,30等整除的分钟上运行)
*/10 * * * * /usr/bin/somedirectory/somecommand
这也相当于更麻烦
0,10,20,30,40,50 * * * * /usr/bin/somedirectory/somecommand
Cron还提供了一些特殊字符串,可用于代替五个时间和日期字段:
@reboot
– 在启动时运行一次。
@yearly
– 每年运行一次,"0 0 1 1 *"
。
@annually
– (和@yearly
)
@monthly
– 每月运行一次,"0 0 1 * *"
。
@weekly
– 每周跑一次,"0 0 * * 0"
。
@daily
– 每天跑一次,"0 0 * * *"
。
@midnight
– (与@daily
相同)
@hourly
– 每小时跑一次,"0 * * * *"
。
请注意,所有cron
作业都从用户的$HOME
目录开始,因此建议在cron
程序和脚本中使用完全限定的路径名。
你不能影响crontab,但有Orage时间/日历应用程序,通常在主菜单中激活。
在那里你也可以安排任务。
双击时钟,打开日历,然后双击一天。
选择一个新事件。 给它一个名字,例如,’Coffeetime’。 将时间设置为11:00。
现在选择选项卡:提醒,应用程序,使用:YOUR_PROGRAM_TO_SCHEDULE_HERE停用声音和其他不健全的选项。
现在选择标签:重复,频率:
- 每日,每周,每月,每年
- 每隔1天(例如每天),每隔一天2次,依此类推
- 有更多选项可供选择(间隔暂停,即)
我有一个德语用户界面,所以也许我对标签的翻译不完全适合。