Linux设置定时任务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux设置定时任务相关的知识,希望对你有一定的参考价值。

参考技术A 自动化过程中有许多的脚本希望它能够自动在某一个时间段去执行,这就需要用到设置定时任务的功能,以下就是我对定时任务的介绍.

linux内置的cron进程能帮我们实现定时任务.
如果linux没有自动,可以自己进行安装:

服务操作说明:

我们常用的命令如下:

网上看到一张图很生动形象

在以上各个字段中,还可以使用以下特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

实例

linux设置定时任务crontab

linux设置定时任务crontab

前段时间参照一个博友的git设置了mongoDB的定时备份,后来发现并未成功,今天重新配置了一下,把crontab的两种设置方式都尝试了,而且测试可以正常工作。

测试机器

ubuntu14.04

1、(推荐方式)用户级别的定时任务设置

使用如下命令

crontab -e

添加一条测试脚本:

#*/1 * * * * sh ~/Desktop/myshare/cronjob.sh
#每隔一分钟执行桌面文件夹中的这个脚本

然后,更新crontab

service crond restart

或者使用下面的命令,但是,系统会提示不推荐

/etc/init.d/crond restart

2、系统级别的定时任务设置

设置/etc/crontab

#*/1 * * * * root ~/Desktop/myshare/cronjob.sh

注意 系统级的命令中,需要设置用户名,如果系统没有root用户,设置其他系统级的用户名称
设置完成后,同样使用

service crond restart

更新crontab,然后查看效果。

3、以上测试的脚本内容

#!/bin/bash
echo ‘hello‘>>/home/sylar/Desktop/myshare/1.txt
echo $(date)>>/home/sylar/Desktop/myshare/1.txt

第一条往文件1.txt中写入hello;
第二条向1.txt中写入当前时间

Done!以上内容确保可以运行。如需了解cron的格式及其他cron命令,请参阅其他文档。




以上是关于Linux设置定时任务的主要内容,如果未能解决你的问题,请参考以下文章

Linux设置定时任务

Jenkins 设置定时任务

linux设置定时任务

linux设置定时任务的方法(自己总结)

怎么在linux系统里设置延时/定时任务?

我的linux定时任务不起作用是为啥?