如何在 Ubuntu 16.04 LTS 中控制 cron?

如何在 Ubuntu 16.04 LTS 中控制 cron?

从 Ubuntu 14.04 LTS 开始,旧gnome-schedule程序(在 Raspbian Jessie 下运行良好)已在 Ubuntu 中弃用。

那么我们如何在 Ubuntu 16.04 中控制 cron 作业?

答案1

由于 Ubuntu 16.04 目前还没有基于 GUI 的cron控制器,我们必须回到总是有效的老式方法 - 从命令行执行:

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 月 1 日至 6 月 15 日的凌晨 4:00 和 5:00 时 01 点和 31 点运行 /usr/bin/somedirectory/somecommand。

上述示例中的“/usr/bin/somedirectory/somecommand”文本表示将在指定时间运行的任务。建议您使用所需命令的完整路径,如上述示例所示。在终端中输入 which 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和脚本中使用完全限定的路径名​​。

答案2

您无法影响 crontab,但有 Orage Time/Calendar 应用程序,通常在主菜单中激活。

您也可以在那里安排任务。

双击时钟,打开日历,然后双击某一天。

选择一个新的事件。给它命名,例如“咖啡时间”。将时间设置为 11:00。

现在选择选项卡:提醒、应用程序,使用:YOUR_PROGRAM_TO_SCHEDULE_HERE 停用声音和其他无声选项。

现在选择选项卡:重复、频率:

  • 每日、每周、每月、每年
  • 例如,每(天)1 次,每隔一天 2 次,依此类推
  • 有更多选项可用(例如暂停间隔)

我有一个德语用户界面,所以我对标签的翻译可能不完全合适。

相关内容