定时执行任务

linux 任务调度的工作主要分为以下两类:

1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
2、个人执行的工作:某个用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置
Linux crontab 是用来定期执行程序的命令

安装

Debian/Ubuntu系统

apt-get update & apt-get -y upgrade
apt-get install cron

Fedora/CentOS系统

yum -y update
yum install vixie-cron

crontab常用的指令:

crontab -l : 列出目前的时程表
crontab -r : 删除目前的时程表
crontab -e : 编辑时程表

创建定时任务操作流程:

举例:定时清除某个文件夹下的文件
0、先创建xx.sh文件,在文件中写好要执行的指令,清除某个文件夹下的文件
rm -rf /Users/admin/Downloads/rmtest/*
1、crontab -e ,进入编辑
2、输入指令,6月13日16点54分,执行test.sh命令
54 16 13 6 * sh /Users/admin/Downloads/test.sh
或者54 16 13 6 * /Users/admin/Downloads/test.sh
3、保存退出,等待自动执行

编辑格式说明:

分 时 日 月 周 指令(也就是:minute hour day month week command)
举例一:
35 23 * * * /Users/admin/tools/dingding_alert.py
--表示每天的23点35分执行后面的py文件
举例二:
0 6-12/3 * 12 * /usr/bin/backup
--12月内每天6时到12时,每隔3小时执行一次指令

字段说明

minute:分,取值是从0到59之间的整数。
hour:小时,取值是从0到23之间的整数。
day:日,取值是从1到31之间的整数。
month:月,取值是从1到12之间的整数。
week:周几,取值是从0到7之间的整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

在以上各个字段中,还可以使用以下特殊字符:
1.星号():代表所有可能的值,
例如month字段如果是星号 * ,表示每月都执行该命令操作。
2.逗号(,):逗号隔开的值指定时间
例如:week取“1,5”,表示只在周一、周五执行
3.中杠(-):中杠表示一个整数范围,
例如:minute取“1-5”,表示1-5分钟内要执行
4.正斜线(/):可以用正斜线指定时间的间隔频率,
例如:day字段设置 “
/4 ”表示每4天执行一次

可能出现的问题

1、命令执行不生效
解决方式:

方法一:编写的时候使用全路径来执行该文件
全路径执行该文件.png

方法二:将脚本语言的路径写到/etc/cron.d/anacron 的Path中
配置环境变量.png

你可能感兴趣的:(定时执行任务)