centos7—计划任务(at、cron)
计划任务:让计算机在指定的时间执行指定的事情
1、分类:一次性计划任务:at(临时的计划任务)
周期性计划任务:cron
2、计划任务管理:查atq、创建at、删除atrm
注:服务器重启一般都是晚上 凌晨2点
at 时间
atq 或 at -l 查计划列表
eg. at 20:00
at> poweroff 关机
at> ctrl+d
3、时间的写法
HH:MM //18:30
midnight //0点 (午夜)
noon //12点 (中午)
teatime //16点(下午4点)
AM 或 PM后缀指定一天的上午或下午。 //at 2:00 pm
MMDDYY 、 MM/DD/YY 或 DD.MM.YY
now + 计数 时间单位(minutes 、hours 、 days 或 weeks)
eg. at now + 3 hours(从现在开始起三个小时后)
eg. at 4pm + 3 days //三天以后的下午4点执行一个任务
at 2am + tomorrom //明天上午2点
at 10am Jul 31 //7月31日上午10点
案例一:凌晨2点备份/etc目录 到 /tmp格式为 etc.tar.xz
at 02:00
at> tar cvJf /tmp/etc.tar.xz /etc
at> ctrl+d
4、查看所有用户的计划任务
atq
at -l
5、查看某个计划任务的详细内容
at -c 工作号
6、删除计划任务
atrm 工作号 ...
at -d 工作号 ...
案例二:脚本方式创建at计划任务.
echo 'ls;date;pwd' | at 3:00 #用管道符将任务传给at命令
案例三:用at将指定文件(-f 文件名)中的命令设为计划任务.
#首先,创建命令文件
vim /opt/aplan #添加如下内容
ls
date
pwd
tar -czvf /tmp/etc.tar.gz /etc
7、at权限管理、安全
/etc/at.allow 白名单:只允许在此名单内的用户使用at(此文件本身不存在)
/etc/at.deny 黑名单:在此名单内的用户不可以使用at
注:当两个文件都不存在,只有root用户可以使用at
当两个文件都存在,allow优先执行
-----------------------------------------------------------
at服务管理:
查at软件是否已安装:pm -q at
查at的文件列表:rpm -ql at
查at的配置文件列表:rpm -qc at
查at服务状态:systemctl status atd 或 service atd status
重启at服务:systemctl restart atd 或 service atd restart
关闭at服务:systemctl stop atd 或 service atd stop
开机不启动at服务:systemctl disable atd 或 chkconfig atd off
开机启动at服务:systemctl enable atd 或 chkconfig atd on
at的其他文件:
计划文件清单:ls /var/spool/at/* 用cat可以看这些文件
-----------------------------------------------------------
cron:周期性计划任务、循环性计划任务,主要用于备份数据。
crontab
usage:crontab [-u user] [ -e | -l | -r ]
-u <user> define user #指定用户
-e edit user's crontab #编辑计划任务
-l list user's crontab #查看计划任务
-r delete user's crontab #删除计划任务
1、crontab -e 编辑周期性计划任务的内容
2、查看配置:cat /etc/crontab
时间
min hour day month week command
分钟 小时 日 月 周 动作(任务命令)
0-59 0-23 1-31 1-12 0-7 命令或脚本(写绝对路径)
30 2 1 * * rm -rf /tmp/* //每月1号的2:30分删除/tmp目录下的所有文件
5 * * 6 3 rm -rf /tmp/* //每年6月的每周三每小时的5分钟删除/tmp目录下的所有文件
6 6 * 6 6 rm -rf /tmp/* //每年6月的周六的6点6分钟删除/tmp目录下的所有文件
* 任何时刻
- 一段时间 // 8-11 * * * * rm -rf /tmp/* //每小时的8分钟 9分钟 10分钟 11分钟 删除/tmp目录下所有文件
, 分隔(不连续的时间) // 1,2,5,9 * * * * rm -rf /tmp/* //每小时的1分钟 2分钟 5分钟 9分钟 删除/tmp目录下所有文件
0-4,8-12 //
0-23/2 时间间隔 //1 0-23/2 * * * rm -rf /tmp/* // "0,2,4,6,8,10,12,14,16,18,20,22").
*/2 每隔2小时 //1 */2 * * * rm -rf /tmp/* 每隔2小时执行rm命令
* 0-23 * * * rm -rf /tmp/*
* */1 * * * rm -rf /tmp/*
3、时间的写法
The time and date fields are:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names,
see below)
day of week 0-7 (0 or 7 is
Sun, or use names)
案例一:每个星期三的下午10:00备份/etc/目录到/tmp目录叫2017-04-12_etc.tar.gz备份文件包含当天日期
crontab -e
* 22 * * 3 /usr/bin/tar cvzf /tmp/`/usr/bin/date +%F`_etc.tar.gz /etc
注:`命令`中的``为命令替换功能,系统会先执行``(反撇,反引号)中的命令.也可以将``写成$()
案例二:只保留最近1个月的日志文件
crontab -e
1 * * * * find /var/log -mtime +30 |xarge -i rm -rf {}
案例三:每月1号的凌晨2点半清空临时盘
crontab -e
30 2 1 * * /usr/bin/rm -rf /tmp/*
案例四:每周每天的晚上8:10关闭电脑,除了星期六,星期五,星期日的17:10关闭电脑
crontab -e
10 20 * * 1-4 /usr/sbin/poweroff
10 17 * * 5,7 /usr/sbin/poweroff
案例五:jim用户每天在家目录创建一个以日期命名的目录20170412
crontab -u jim -e
1 0 * * * /bin/mkdir /home/jim/`date +%Y%m%d`
4、查询周期性计划任务的内容
crontab -l #查看当前用户
crontab -u jim - #查看指定用户
5、删除某用户的所有周期性计划任务(删除某个计划任务crontab -e 进入文本删除)
crontab -r #当前用户
crontab -u jim -r #指定用户
系统定义的计划任务(默认)
更新whatis数据库
更新updatedb数据库
日志定期轮滚(日志切割)
清理/tmp /var/tmp
收集系统的状态信息
vim /etc/crontab 配置文件
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*/5 * * * * root 命令 //每隔5分钟以root身份去执行命令
以下目录内可以存在脚本 该脚本就会按照时间去执行
cd /etc
cron.hourly/ #每小时
cron.weekly/ #每周
cron.daily/ #每天
cron.monthly/ #每月
6、删除超过一个月不使用的文件
cat /etc/cron.daily/tmpwatch
7、crontab服务管理:
查软件是否已安装:rpm -q crontabs
查软件的文件列表:rpm -ql crontabs
查软件的配置文件列表:rpm -qc crontabs
服务状态:systemctl status crond 注:d是daemon守护进程
重启at服务: systemctl restart crond 或 service crond restart
关闭at服务: systemctl stop crond 或 service crond stop
开机不启动at服务: systemctl disable crond 或 chkconfig crond off
开机启动at服务: systemctl enable crond 或 chkconfig crond on
8、cron权限管理
/etc/cron.allow 白名单:只允许在此名单内的用户使用crontab(此文件本身不存在)
/etc/cron.deny 黑名单:在此名单内的用户不可以使用crontab
注:两个文件都不存在,只有root用户可以使用crontab
两个文件都存在,allow优先执行
centos7—计划任务(at、cron)的更多相关文章
- 周期性计划(一个cron守护进程):
周期性计划(一个cron守护进程): root@ubuntu:/etc# ps -ef | grep cron root 903 1 0 16:25 ? 00:00:00 /usr/sbin/cron ...
- linux计划任务之cron
目录 cron计划任务之用户级 cron计划任务之系统级 cron计划任务之用户级 1.安装crond centos7 执行命令: # yum install -y crontabs /bin/sys ...
- 《linux 计划任务》- cron
一:什么是计划任务 - 你给手机定了一个闹钟,每天的 7:00 会准时响铃叫你起床,这实际上就是一个计划任务 - 所谓定时任务,就是在已经定好的特定时间去执行的事情. - Cron是一个[守护程序]用 ...
- 计划任务at cron
计划任务作用:做一些周期性的任务,主要用于定时备份数据,同步时间,定时删除日志 所有计划任务执行的输出都会以邮件的方式发送给指定用户,除非重定向 (1)at:一次性调度执行 1)安装 yum inst ...
- centos7 计划任务简介
概述 就像再windows上有计划任务一样,centos7 自然也有计划任务,而且设置更为灵活,好用.再centos7 上可以利用crontab 来执行计划任务, 依赖与 crond 的系统服务,这个 ...
- spring 计划任务:cron表达式
Cron表达式是一个字符串,字符串以5或6个空格隔开,分开工6或7个域,每一个域代表一个含义,Cron有如下两种语法 格式: Seconds Minutes Hours DayofMonth Mont ...
- centos7 计划任务 crontab的使用
#vim /etc/crontab #号代表以管理员身份运行. 将你要执行的脚本或者命令加进去,例如我的: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr ...
- 计划任务cron
cron 计划任务 作用: 计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据 Schedule one-time tasks with at. 一次性调度执行 atSchedule r ...
- 通过Linux系统Cron执行OwnCloud计划任务
通过Linux系统Cron执行OwnCloud计划任务 02/02/2013 CRON的确是一个非常有用的功能,它有效减少了系统的负载,在将WordPress和StatusNet的任务计划都转换到Cr ...
随机推荐
- 【前端知识体系-JS相关】JS基础知识总结
1 变量类型和计算 1.1 值类型和引用类型的区别? 值类型:每个变量都会存储各自的值.不会相互影响 引用类型:不同变量的指针执行了同一个对象(数组,对象,函数) 1.2 typeof可以及检测的数据 ...
- ThreadLocal原理分析与代码验证
ThreadLocal提供了线程安全的数据存储和访问方式,利用不带key的get和set方法,居然能做到线程之间隔离,非常神奇. 比如 ThreadLocal<String> thread ...
- 推荐算法之用矩阵分解做协调过滤——LFM模型
隐语义模型(Latent factor model,以下简称LFM),是推荐系统领域上广泛使用的算法.它将矩阵分解应用于推荐算法推到了新的高度,在推荐算法历史上留下了光辉灿烂的一笔.本文将对 LFM ...
- 神奇的 SQL 之 MySQL 性能分析神器 → EXPLAIN,SQL 起飞的基石!
前言 开心一刻 某人养了一头猪,烦了想放生,可是猪认识回家的路,放生几次它都自己回来了.一日,这个人想了个狠办法,开车带着猪转了好多路进山区放生,放生后又各种打转,然后掏出电话给家里人打了个电话,问道 ...
- 🔥《手把手》系列基础篇之2-python+ selenium-打开和关闭浏览器(详细)
1. 简介 本节介绍如何初始化一个webdriver实例对象driver,然后打开和关闭firefox浏览器.要用selenium打开fiefox浏览器.首先需要去下载一个driver插件geckod ...
- Java异常处理只有Try-Catch吗?
今天,我们将讨论一个非常重要的主题-Java 中的异常处理.尽管有时可能会对此主题进行过多的讨论,但并非每篇文章都包含有用且相关的信息. Java 中最常见的异常处理机制通常与 try-catch 块 ...
- 【Python3爬虫】网络小说更好看?十四万条书籍信息告诉你
一.前言简述 因为最近微信读书出了网页版,加上自己也在闲暇的时候看了两本书,不禁好奇什么样的书更受欢迎,哪位作者又更受读者喜欢呢?话不多说,爬一下就能有个了解了. 二.页面分析 首先打开微信读书:ht ...
- Python使用百度地图API根据地名获取相应经纬度
今天有个需求,要根据地名获取经纬度坐标值. 于是我第一想法:打开百度地图,手动输入地名,获取.显然当地名较少时,可实施.然而,当地名较多时,此方法显然工作量很大. 于是,第二想法:代码获取,请求百度地 ...
- vsftp安装和配置
2013-10-10 10:49:48| 分类: Linux|举报|字号 订阅 源码下载地址:ftp://vsftpd.beasts.org/users/cevans/untar/ 1. ...
- RestTemplate 中文乱码
@Configuration public class RestTemplateWithoutLoadBalance { @Bean("normalRestTemplate") p ...