linux crontab 每7天,Linux下计划任务神器-Crontab
作为系统运维人员都清楚,在Linux下定义重复性的任务,我们一般会采用crontab来进行:crontab这个指令所设置的工作将会循环的一直进行下去!可循环的时间为分钟、小时、每日、每月、每周。
crontab计划任务:
1)常见用法:
crontab命令的作用和用法如下:
描述:为每个用户维护周期性的计划任务文件
用法:crontab [-u 用户][-l|-r|-e]
-u 指定某个用户的计划任务(只有root用户才有这个权限)
-e 编辑用户的计划任务
-l 列出用户的计划任务
-r 删除用户的计划任务
-i 删除时进行交互式操作
用户的cron计划任务文件格式含义如下:
* * * * * 指令
分 时 日 月 周 指令
0-59 0-24 1-31 1-12 0-7
如果需要指定时间段:
a:可以使用横杠(-)表示一段连续的时间
b:使用逗号(,)表示若个不连续的时间
c:使用星号(*)表示所有的时间,使用除号(/)表示间隔时间
2)crontab的常规用法:
# 列出用户root的计划任务
[root@localhost ~]# crontab -l
*/30 * * * * ntpdate -u s2m.time.edu.cn >/dev/null 2>&1
# 列出用户wanlong的计划任务
[root@localhost ~]# crontab -l -u wanlong
* */5 * * * /usr/bin/ping 127.0.0.1 >/dev/null
# 计划任务的配置文件是保存在/var/spool/cron/下,只要有计划任务的用户都对应有配置文件
[root@localhost ~]#
cd /var/spool/cron/
[root@localhost cron]# ls
root wanlong
[root@localhost cron]# cat wanlong
* */5 * * * /usr/bin/ping 127.0.0.1 >/dev/null
[root@localhost cron]# cat root
*/30 * * * * ntpdate -u s2m.time.edu.cn >/dev/null 2>&1
说明:可以发现/var/spool/cron/wanlong与crontab -l -u wanlong显示的结果是一直的,然后我们测试下直接修改配置文件,看计划任务是否生效
[root@localhost cron]# echo
"* */2 * * * /usr/bin/ping 127.0.0.1 >/dev/null"
>>/var/spool/cron/root
[root@localhost cron]# crontab -l
*/30 * * * * ntpdate -u s2m.time.edu.cn >/dev/null 2>&1
* */2 * * * /usr/bin/ping 127.0.0.1 >/dev/null
说明:以上可知,直接修改配置文件,仍旧生效。
3)如何实现秒级别crontab
方法1:使用sleep加间隔时间的模式
# crontab -l
* * * * * for min in 0 1 2;do echo "hi";sleep 20;done
方法2:转换成脚本进行
#!/bin/bash
#created by molewan
while:
do
/test.sh
sleep 7
done
# chmod 755 seconds.sh
# nohup bash seconds.sh &
补充知识:
sleep用法格式:
sleep NUMBER[SUFFIX]
SUFFIX值可以为s(秒,默认值)、m(分钟)、h(小时)、d(天数)
4)计划任务如何每7分钟运行(分钟取值范围0-59)
不能被60整除的,不能精确做到真正运行
错误做法: */7 * * * *
推荐的方法:
#!/bin/bash
#created by molewan
while:
do
/test.sh
sleep 7
done
5)练习:
1、每4小时备份一次/etc目录至/backup目录中,保存文件名称格式为“etc-yyyy-mm-dd-HH.tar.xz”
# crontab -l
* */4 * * * tar -cJPf /backup/etc-$(date +%F-%k).tar.xz /etc >/dev/null 2>&1
2、每周2,4,7备份/var/log/messages文件至/logs目录中,文件名为“messages-yyyymmdd”;
# crontab -l
* * * * 2,4,7 tar -cf /logs/messages-$(date +%y%m%d)
3、每两小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加/tmp/meminfo.txt文件中
[root@zabbix ~]# egrep -i "^(S|M)" /proc/meminfoMem
Total: 5947112 kB
MemFree: 1669468 kB
MemAvailable: 2726264 kB
SwapCached: 116600 kB
Mlocked: 0 kB
SwapTotal: 4194300 kB
SwapFree: 3288708 kB
Mapped: 117324 kB
Shmem: 285240 kB
Slab: 188640 kB
SReclaimable: 133080 kB
SUnreclaim: 55560 kB
# crontab -l
* */2 * * * egrep -i "^(S|M)" /proc/meminfo>>/tmp/meminfo.txt
4、工作日时间内,每小时执行一次“ip addr show”
* */1 * * 1-5 /usr/sbin/ip addr show
6)其它注意事项:
a、在 Linux 下面的 crontab 会自动的帮我们每分钟重新读取一次 /etc/crontab 的例行工作事项;
b、但是某些原因或者是其他的 Unix 系统中, 由于 crontab 是读到内存当中的,所以在你修改完 /etc/crontab 之后,可能并不会马上执行,这个时候请重新启动crond服务 ;
c、周与日月的计划任务不可同时并存
重启crond服务:
CentOS7下重启crond服务
[root@zabbix ~]# systemctl restart crond.service
[root@zabbix ~]# echo $?0
执行前先看下,是否有计划任务正在执行
CentOS6下重启crond服务
[root@Openstack-01 ~]# /etc/init.d/crond restart
[root@Openstack-01 ~]# echo $?0
原创文章,作者:Net21-冰冻vs西瓜,如若转载,请注明出处:http://www.178linux.com/25107
linux crontab 每7天,Linux下计划任务神器-Crontab相关推荐
- Linux计划任务(at,crontab)
在LINUX中,我们通过crontab和at这两个东西来实现 at:它是一个可以处理仅执行一次就结束的指令 crontab:它是会把你指定的工作或任务,比如:脚本等,按照你设定的周期一直循环执行下去 ...
- Linux之计划任务服务crontab
Linux之计划任务服务crontab Linux中的计划任务:crontab Windows中计划任务 Linux中的计划任务 crontab -e命令:计划任务的编辑 计划任务权限 Linux中的 ...
- Linux下使用SSH、Crontab、Rsync三工具实现数据自动备份
Linux下使用SSH.Crontab.Rsync三工具实现数据自动备份 作为网管人员大概都无一例外的经历过系统备份,尤其是重要系统的备份.重要数据库系统的备份工作.由于备份是个频繁而琐碎的工作,如何 ...
- linux计划任务之crontab
语法: crontab [ -u user ] file crontab [ -u user ] [ -i ] { -e | -l | -r } 说明: crontab命令 ...
- linux下crontab命令的用法,linux 定时任务crontab用法详解
linux 定时任务crontab用法详解 linux中crontab命令用于设置周期性被执行的指令,该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读 ...
- linux下crontab命令的用法,Linux下crontab命令的用法
crond 是linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动此任务调度命令.crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作.而linux ...
- Linux下计划任务和标准化工作流程
1.定时任务和计划任务: 2.一次性定时任务at(生产中很少使用) at命令: at [option] TIME常用选项:-V 显示版本信息:-l: 列出指定队列中等待运行的作业:相当于atq-d: ...
- linux cron源码下载,LINUX计划任务管理_AT与crontab
at命令 一次性计划任务 服务脚本名称:/etc/init.d/atd 设置格式:at [HH:MM] [yyyy-mm-dd] [[email protected]~]# date 2011年 ...
- linux定时任务crontab每月,linux centos 计划任务 定时任务 crontab
1.查看自启动列表 chkconfig --list(centos6) systemctl is-enabled crond.service (centos7) 2.查看目前是否已经启动 ps aux ...
最新文章
- php通过QQ号获取QQ信息,通过openId能获取到QQ号码吗?
- 【项目管理】ITTO-沟通管理
- modbus-rtu qt4-serialport2------micro2440 as host
- php基础教程文档,PHP5基础教程
- 银屑病需要的碱性食物
- android视图工具,android studio的HierarchyViewer工具如何知道android屏幕的视图属性
- WPF实现用户头像裁剪
- 字符串题目---2判断两个字符串是否为变形词
- word制作电子签名
- Java编程:栈的应用实例——简单的综合计算器实现(中缀表达式)
- 计算机网络(北京理工大学出版社)课后习题答案
- 关于TRACERT和TTL
- raize控件的安装注意
- mongodb java 安装配置_Mongodb的java学习安装部署
- 用Python分析44万条数据,揭秘如何成为网易云音乐评论区的网红段子手
- Java实现图片压缩功能
- java自动往数据库里插shuaku_x大x鸟的青鸟云课堂自动答题实现原理
- Spring学记笔记
- C/C++编程:实现hash函数
- Neo4j【有与无】【N1】介绍
热门文章
- 代码混淆之道——控制流扁平与不透明谓词理论篇
- 蓝桥杯·寒假百校真题大联赛(大学B组)(第1期)python
- 49岁周慧敏近照,使唤古天乐当佣人,丈夫抱怨不生孩子不是女人
- 12岁写代码,为数百万程序员引路,这位世界级编程大师不简单
- 目标检测算法实现(八)——YOLOV5学习笔记
- m4b格式 android,【资源分享】安卓强大音乐播放器stellio5.5.7(beta)去广告版
- Contest-51-直播获奖
- 传说中的程序员十层楼
- 探花交友_第1章_项目介绍以及实现登录功能_第1节_功能介绍
- 探花交友_第4章_圈子功能实现