linux定时任务

linux定时任务

预先设定好的时间一到,或指定的间隔时间一到,
由 Linux 系统自动调用并执行预先定义好的系统指令,来完成具体的业务功能。

通过 Linux 中的 crontab 命令,我们预先设定好的时间一到,或指定的间隔时间一到,就执行定时任务。

时间间隔的单位可以是分钟、小时、日、月、年及以上的任意组合。

这个命令非常适合做定时性,周期性的工作,如:数据备份,程序自动运行等。

安装 crontab 服务

在默认情况下,Linux 系统没有安装和启动 crontab 这个定时任务服务,
我们得联网下载并安装启动这个 crontab 服务。
语法:yum install package
解释:下载并安装指定的安装包或服务

1. yum(全称为 Yellow dog Updater, Modified):是一个软件包管理器。能够从指定的服务
器自动下载安装包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,
无须繁琐地一次次下载和安装。yum 提供了查找、安装、删除某一个、一组甚至全部软件包
的命令,而且命令简洁而又好记。

2. package:表示需要指定的安装包或服务,如 crontabs 定时服务
命令:
yum install crontabs 安装 crontab 服务,注意 crontabs 后面有个 s

启动/停止/重启/加载定时任务

在默认情况下,当你下载并安装 crontab 定时任务这个服务后,crontab 已经启动,不用再启动了。
当然你也可以根据需求停止定时任务这个服务。

语法:service 服务 start/stop/restart/reload
解决:将指定的服务启动/停止/重启/加载
命令:
1. service crond start 启动定时任务服务
2. service crond stop 停止定时任务服务,但定时任务还在,下次可以再启动
3. service crond restart 重启定时任务服务
4. service crond reload 重新加载定时任务配置文件

定时任务配置

语法:crontab [参数]
解释:定时任务的配置
1. -u user 给指定用户设置定时任务
2. -l 显示当前用户所有的定时任务
3. -e 编辑当前用户的定时任务,一行一个定时任务
4. -r 删除当前用户的定时任务

命令:
crontab -l 显示当前用户所有的定时任务
crontab -e 编辑当前用户的定时任务,一行一个定时任务

当输入 crontab -e 后,会启动 vi 编辑器,来编写新的定时任务,一行写一个定时任务。
定时任务配置格式如下:
分 时 日 月 年 需要执行的命令,中间至少有一个空格


命令:
* * * * * date >> /mydate.txt 
每年每月每日每时每分执行 date 命令,将结果输出到/mydate.txt 文件中,

如果 mydate.txt 文件不存在,则系统创建。
其中>>表示将结果输出到什么位置。

*/1 * * * * date >> /mydate.txt  每隔 1 分钟
*/2 * * * * date >> /mydate.txt  每隔 2 分钟


当保存并退出 vi 编辑器后,定时任务立刻生效。
等一分钟,显示当前用户所有定时任务,和执行的输出内容。

命令:
crontab -l 显示当前用户所有的定时任务

cd / 定位于根目录
ls 显示当前目录下的内容
more mydate.txt 查看当前目录下 mydate.txt 文件的内容


其它定时任务配置示例:
30 21 * * * date >> /mydate.txt
每晚的 21:30,将时间输出到/mydate.txt 文件中

10 10 1,10,20,30 * 2017,2018 date >> /mydate.txt
每月 1,10,20,30 号,的 10 点 10 分,将时间输出到/mydate.txt 文件中。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页