RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
Linux查定时任务命令 Linux定时任务查询

linux下编写定时任务crontab

linux下的crontab服务:

创新互联公司是一家专业提供江山企业网站建设,专注与做网站、成都网站建设、html5、小程序制作等业务。10年已为江山众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

1、crontab 是用来让使用者在固定时间或固定间隔执行程序之用

在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现。

以某一频率执行任务

linux缺省会启动crond进程,crond进程不需要用户启动、关闭。

crond进程负责读取调度任务并执行,用户只需要将相应的调度脚本写入cron的调度配置文件中。

cron的调度文件有以下几个:

1. crontab

2. cron.d

3. cron.daily

4. cron.hourly

5. cron.monthly

6. cron.weekly

如果用的任务不是以hourly monthly weekly方式执行,则可以将相应的crontab写入到crontab 或cron.d目录中。

示例:

每隔一分钟执行一次脚本 /opt/bin/test-cron.sh

可以在cron.d新建脚本 echo-date.sh

内容为

*/1 * * * * root /opt/bin/test-cron.sh

2、cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,如果它不自动起来,可以用以下的方法启动、关闭这个服务:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

你也可以将这个服务在系统启动的时候自动启动:

在/etc/rc.d/rc.local这个脚本的末尾加上:

/sbin/service crond start

现在Cron这个服务已经在进程里面了,我们就可以用这个服务了

查看服务是否已经运行用 ps -ax | grep cron

3、crontab命令

查看该用户下的crontab服务是否创建成功, 用 crontab -l 命令

命令 which php 查看linux下安装的php的路径

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

crontab -l //列出某个用户cron服务的详细内容

crontab -r //删除没个用户的cron服务

crontab -e //编辑某个用户的cron服务

比如说root查看自己的cron设置:crontab -u root -l

再例如,root想删除fred的cron设置:crontab -u fred -r

在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e

进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls /tmp/ls.txt

任务调度的crond常驻命令crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此 任务调度命令。crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

crontab命令选项:

-u指定一个用户

-l列出某个用户的任务计划

-r删除某个用户的任务

-e编辑某个用户的任务

4、cron文件语法:

分 小时 日 月 星期 命令

0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)

5、 新增调度任务

新增调度任务可用两种方法:

1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。

6、 查看调度任务

crontab -l //列出当前的所有调度任务

crontab -l -u jp //列出用户jp的所有调度任务

7、 删除任务调度工作

crontab -r //删除所有任务调度工作

8、 任务调度执行结果的转向

例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中

30 5 * * * ls /jp/test 21

注:21 表示执行结果及错误信息。

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

HOME=/ //使用者运行的路径,这里是根目录

# run-parts

  01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本

  02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本

22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行 /etc/cron.weekly内的脚本

42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本

  大家注意”run-parts”这个参数了,如果去掉这个参数的话,后面就可以写::要运行的某个脚本名,而不是文件夹名了。

总结:

编写定时任务的两种方式:1.sudo vim /etc/crontab 2. sudo crontab -e

查看定时任务的两种方式:1.sudo cat /etc/crontab 2.sudo crontab -l

*/1 * * * * appuser cd /app/webserver/website/api-cb.chuchujie.com/master/current/script/ ./back_coupon.sh 2 10 /dev/null 21

查看定时任务是否运行:

sudo tail -f /var/log/cron //定时任务日志(查看刚才设置的任务是否执行)

注:脚本有可执行权限

sh a.sh(不需要执行权限)

./sh (需要执行权限)

1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别的。./filename是因为当前目录没有在PATH中,所有"."是用来表示当前目录的。

Linux下定时任务(系统任务调度、用户任务调度)crontab使用详解

crond是Linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,在CentOS Linux release 7.2.1511中默认是开机启动的,大家可以使用命令:systemctl status crond进行查看。 crond进程定期(每分钟)检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。用户在cron表

(也被称为crontab文件)指定了定时任务,crontab也就是我们常见的定时任务设置命令。Linux下的任务调度分为两类,系统任务调度和用户任务调度。

系统任务调度 :系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。/etc/crontab文件就是系统任务调度的配置文件。

用户任务调度 :用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron目录中。其文件名与用户名一致,使用者权限文件如下:

通过以上帮助信息,我们可以知道crond是执行任务计划的一个守护进程。在使用crontab之前我们可以根据帮助信息来设置相关选项,一般情况下我们都使用默认值。

1.建立演示账号crontab。

2.星号(*)使用举例。

以上例子中完整演示了crontab从建立到执行的过程。“5 0 * * * echo "GeekDevOps"”表示在每天00:05执行命令:echo "GeekDevOps"。后面的星号表示只要前面条件满足都执行。例子中的-u选项指定了用户:crontab,-l选项列举了相关用户的用户任务调度,不指定用户则默认为root。执行结果默认写入到用户mail目录下的相关文件中。

3.逗号(,)的使用举例。

现在我们已经把用户切换到crontab下,因此无需额外指定-u选项相关内容。“3 2,6,8 * * *”表示每天的02:03:00、06:03:00、08:03:00分别执行一次命令:ls /usr/local。

4.减号(-)的使用举例。

例子中的“0 2-6 * * 6 df -h /”表示用户crontab在每周六的02:00、03:00、04:00、05:00、06:00执行命令:df -h / 。

5.斜杠(/)的使用举例。

例子中表示每隔2分钟执行一次命令:echo "GeekDevOps"/root/GeekDevOps.txt。

6.crontab的使用非常简单,很容易理解,只要在取值范围内设置执行的值基本是没有问题的。现在我们要删除已经设置的这些定时任务。

例子中,选项-r表示删除所有定时任务。选项-i表示在删除前进行再次确定,输入y或者Y才能真正删除。

7.备份我们设置的用户任务调度配置文件。

8.系统任务调度的使用举例。

系统任务调度与用户任务调度不一样,需要直接在/etc/crontab里面配置,如果需要指定用户,还需要在执行命令前指定用户名。通过crontab -l 命令是查看不到系统任务调度任务的。

关于linux CentOS系统定时自动重启?

1、查看定时执行的文件:命令:“crontab -l”,如同ll或者ls一样,显示定时任务列表信息。

2、查看定时任务详细信息,定时任务脚本前面的 * * * * *和数字意思解释如下:从左到右,依次是:分、时、日、月、星期。

3、修改定时脚本里面的执行内容。

4、查看定时脚本执行内容。

5、编辑定时执行计划。这个方式和修改文件类似。使用命令:"crontab -e" ,e表示edit修改的意思。

6、修改脚本路径,脚本的具体执行时间等。如果是每隔10分钟执行一次命令是:“*/10 * * * * /脚本.sh”。

如何设置Linux系统的定时任务

linux怎么设置定时任务呢,下面就让我们来看看吧。

1、在终端窗口中输入systemctlstatus命令查看atd服务是否开启。

2、输入date命令查看当前的时间。

3、输入at+时间命令进行定时,at命令后面跟的是时分。

4、输入mkdir/root/linux1609命令,回车列出要执行任务。

5、按Ctrl+V组合键终止当前的定时任务设置。

6、输入at+l命令,回车查看当前已经存在的任务。

以上就是小编的分享,希望能帮助的大家。

19. Linux的at定时任务调度

与crond不同的是,at任务调度是一次性的,而crond是重复性的

1.1 at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行

1.2 默认情况下,atd守护进程每60s检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业

1.3 at命令是一次性定时计划任务,执行完一个任务后就不再执行这个任务了

1.4 在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令查看

ps -ef | grep atd 可以检查atd是否在运行

at [选项] [时间]

按两次 ctrl+d 结束at命令的输入

4.1 当天的hh:mm(小时:分钟),假如这个时间已经过去,那么就第二天的这个时间执行。例如04:00

4.2 模糊的词语,例如midnight、noon、teatime(下午茶时间,16:00左右)

4.3 采用12小时计时制,例如8am

4.4 指定执行命令的具体日期,格式为month dat(月 日)或者mm/dd/yy或者dd.mm.yy,指定的日期必须跟着写在在指定时间的后面,例如:04:00 2021-3-1就是2021年3月1日凌晨4点整执行

4.5 相对计时法,指定格式为now + count time-units,now就是当前时间,time-units是时间单位,可以是minutes、hours、days、weeks。count是时间的数量,例如:now + 5 minutes

4.6 直接用today、tomorrow来指定完成命令的时间

5.1 2天后的下午5点,执行/bin/ls /home指令

at 5pm + 2 days 按回车键

然后写下那个时刻要执行命令 /bin/ls /home

最后按两次ctrl+d退出at指令

5.2 atq指令可以直接执行,查看系统中待执行的工作任务

5.3 明天17:00输出时间到指定文件内 /root/date100.log

at 17:00 tomorrow 按回车键

date /root/date100.log

按两次ctrl+d退出at指令的输入

5.4 2分钟后

at now + 2 minutes

5.5 删除已经设置的任务,atrm 编号

可以用atq列出待执行的任务,列出后第一列就是job编号


分享文章:Linux查定时任务命令 Linux定时任务查询
文章分享:http://lswzjz.com/article/hiepdj.html