如何在Linux上计划任务:Crontab文件简介

时间:2020-01-09 10:39:40  来源:igfitidea点击:

Linux上的cron守护程序在特定时间在后台运行任务;就像Windows上的"任务计划程序"一样。使用适当的语法将任务添加到系统的crontab文件中,cron会自动为我们运行它们。

Crontab文件可用于自动执行备份,系统维护和其他重复性任务。语法功能强大且灵活,因此我们可以在每年的特定日期每隔15分钟或者在特定分钟运行一次任务。

开启Crontab

首先,从Linux桌面应用程序菜单打开一个终端窗口。我们可以单击" Dash"图标,键入Terminal,然后按Enter以使用Ubuntu打开一个。

使用crontab -e命令打开用户帐户crontab文件。该文件中的命令以用户帐户权限运行。如果要使用系统权限运行命令,请使用sudo crontab -e命令打开根帐户crontab文件。如果Linux发行版不使用sudo,请改用su -c crontab -e命令。

可能会要求我们选择一个编辑器。通过键入编号并按Enter键选择Nano(如果可用)。 Vi和其他更高级的编辑器可能会受到高级用户的青睐,但是Nano是一个易于入门的编辑器。

我们会在终端窗口顶部看到Nano文本编辑器,由GNU nano标头标识。如果不这样做,crontab可能会在vi文本编辑器中打开。

如果我们不喜欢使用vi,则可以在:vi中输入:quit,然后按Enter将其关闭。运行export EDITOR = nano命令,然后再次运行crontab -e在Nano中打开crontab文件。

添加新任务

使用箭头键或者向下翻页键滚动到Nano中crontab文件的底部。以开头的行是注释行,这意味着cron会忽略它们。注释仅向编辑文件的人员提供信息。

crontab文件中的行按以下顺序编写,并具有以下可接受的值:

minute(0-59) hour(0-23) day(1-31) month(1-12) weekday(0-6) command

我们可以使用星号(*)字符来匹配任何值。例如,在月份中使用星号会使命令每月运行一次。

例如,假设我们要每天在凌晨12:30运行命令/ usr / bin / example。周三类型:

29 0 * * * /usr/bin/example

30分钟标记使用29,上午12点使用0,因为分钟,小时和星期几的值从0开始。请注意,日期和月份的值从1而不是0开始。

多个值和范围

多次使用逗号分隔的值。例如

0,14,29,44 * * * * /usr/bin/example2

每天每小时15分钟运行/ usr / bin / example2. 确保在新行上添加每个新任务。

使用破折号分隔的值来指定值的范围。例如

0 11 * 1-6 * /usr/bin/example3

每天中午运行/ usr / bin / example3,但仅在一年的前六个月运行。

保存文件

按Ctrl-O并按Enter将crontab文件保存在Nano中。保存文件后,使用Ctrl-X快捷方式关闭Nano。

我们会看到crontab:正在安装新的crontab消息,表明新crontab文件已成功安装。