Linux计划任务(at,crontab)

在LINUX中,我们通过crontab和at这两个东西来实现

at:它是一个可以处理仅执行一次就结束的指令
crontab:它是会把你指定的工作或任务,比如:脚本等,按照你设定的周期一直循环执行下去


1.at计划任务的使用
语法格式: at 时间
服务:atd
开启atd服务
对应的查看atd服务,如果没有启动则启动

rpm -q at  #查看at包有没有安装
yum install at -y #安装at包
#这里可以先查询一下,如果没有at命令的话,则可以直接用yum命令安装

这里写图片描述
使用at创建计划任务

at 20:48     --注意语法,如果是上午的时间,后面要加am如[10:25 am]
at> mkdir /root/test        ---输入要执行的命令或脚本at> <EOT>       --按ctrl+d结束job 1 at Fri Oct 28 20:48:00 2016

at -l 查看计划任务
atq 查看计划任务
at计划任务的特殊写法

#  at 20:00 2016-10-1   在某天 
# at now +10min   在 10分钟后执行
# at 17:00 tomorrow   明天下午5点执行
# at 6:00 pm +3 days   在3天以后的下午6点执行

对于系统来说 :计划任务 就是在某个特定的时刻 执行一个脚本文件
创建成功的at计划任务会在/var/spool/at/目录下成生一个可执行的脚本文件

每一个脚本都对应一个at计划任务

删除at计划任务
atrm 命令
atrm + 计划任务的编号

2.crontab定时任务的使用
crond命令定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。
linux任务调度的工作主要分为以下两类:
.系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存. 例如/tmp 临时目录
.个人执行的工作:某个用户定期要做的工作,由每个用户自行设置。

启动服务

  systemctl status crond    #   (查看crond服务的状态)systemctl restart crond   # 重启 systemctl enable crond     #   开机自启

cron命令参数介绍:
这里写图片描述
crontab的参数:
crontab -u #指定某个用户的cron服务
crontab -l #列出cron服务的详细内容
crontab -r #删除cron服务
crontab -e #编辑cron服务
例如:
crontab -u root -l # root查看自己的cron计划任务
crontab -u san -r # root想删除san的cron计划任务

特殊符号的含义

符号含义示例
*代表取值范围内的数字(任意)
/代表”每”*/10
-代表从某个数字到某个数字6-18
分开几个离散的数字6,18

我们可用crontab -e命令来编辑计划任务
编辑的是/var/spool/cron下对应用户的cron文件
crontab的计划任务内容保存在目录/var/spool/cron下面

编辑计划任务

crontab -u root -e 

也可以直接在/etc/crontab中添加计划任务
cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab
因此我们配置这个文件也能运用cron服务做一些事情。

用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务
编辑/etc/crontab 配置文件 (说明)

vi /etc/crontab

这里写图片描述
SHELL=/bin/bash #变量的值指定shell 环境(此处默认为 bash shell);
PATH=/sbin:/bin:/usr/sbin:/usr/bin # PATH 变量定义用来执行命令的程序路径;
MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

系统级别的计划任务
对于系统级别的计划任务,需要执行的命令和脚本都放在这里:
/etc/cron.* 按两次tab

 ls /etc/cron
cron.d/       cron.deny     cron.monthly/ cron.weekly/  
cron.daily/   cron.hourly/  crontab       

目录作用解释:
cron.d/ #是系统自动定期需要做的任务,但是又不是按小时,按天,按星期,按月来执行的,那么就放在这个目录下面。
cron.deny #控制用户是否能做计划任务的文件;
cron.monthly/ #每月执行的脚本;
cron.weekly/ #每周执行的脚本;
cron.daily/ #每天执行的脚本;
cron.hourly/ #每小时执行的脚本;
crontab #主配置文件 也可添加任务;

计划任务案例
1)每天晚上21:30 重启apache30 21 * * * /etc/init.d/httpd  restart
2)每月11022日的4 : 45重启apache。45 4 1,10,22 * *  /etc/init.d/httpd  restart
3)每月110日的4 : 45重启apache。45 4 1-10 * *   /etc/init.d/httpd  restart
4)每隔两天的上午8点到11点的第3和第15分钟执行apach3,15 8-11 */2 * * etc/init.d/httpd  restart
5)晚上11点到早上7点之间,每隔一小时重启apach* 23-7/1 * * * /etc/init.d/apach restart
6)周一到周五每天晚上 21:15 寄一封信给 root@xuegod72:15 21 * * 1-5  mail -s "hi" root@xuegod72 < /etc/fstab

anacron
cron用控制循环执行例行性工作。如果我要设定机器每早8点进行备份服务。除非我机器保证在8点这个时间点不会关机,如果关机了,cron中的脚本,在下次开机将不会被执行。
anacron并没有取代cron的意思,anacron用于机器重启后,会侦测停机期间,有没有cron没有执行的计划任务,如果有,会立即执行一下没有执行的任务。

注意事项
每条任务调度执行完毕,系统都会将任务输出信息通过电子邮件的形式发送给当前系统用户,这样日积月累,日志信息会非常大,可能会影响系统的正常运行,因此,将每条任务进行重定向处理非常重要
当crontab突然失效时,可以尝试/etc/init.d/crond restart解决问题。或者查看日志看某个job有没有执行/报错tail -f /var/log/cron。
在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义\%,如经常用的date ‘+%Y%m%d’在crontab里是不会执行的,应该换成date ‘+\%Y\%m\%d’

 

将一个月中10天的日志归档

#!/usr/bin/env bash
#[-d $PWD/file] && mkdir -p $PWD/file &&exit 1
data='/usr/local/src/log'
cd $data
date_d=`date +%d`
result=$[date_d/10]
result=0
date_m=`date +%Y%m`
if [ $result -eq  0 ]
thennum=01nowdate=`date +%Y-%m-01` #本月第一天enddate=`date -d "last day $nowdate" +%Y-%m-%d` #上个月最后一天startdate=`date -d "$enddate" +%Y-%m-21`end_day=`date -d "$enddate" +%d`start_day=`date -d "$startdate" +%d`dayDiff=$[end_day-start_day+1]
fiif [ $result -eq 1 ]
thennum=02startdate=`date +%Y-%m-01`dayDiff=10fiif [ $result -eq 2 ]
thennum=03dayDiff=10startdate=`date +%Y-%m-11`
fitargit_dir=${date_m}${num}
echo $targit_dir
if [ ! -d $targit_dir ];thenmkdir $targit_dir
fi
for i in `seq $dayDiff`
dofind /usr/local/src -name "access.log-$startdate-*" 2> /dev/null -exec mv {} $data/$targit_dir \;
#    find /usr/local/src -name "access.log-$startdate-*"startdate=`date -d "+1 day $startdate" +%Y-%m-%d`
done
tar jcf $targit_dir.tar.bz2 $targit_dir
if [ $? -eq 0 ];thenrm -fr $targit_dir
fi

 

 

转载于:https://www.cnblogs.com/flyhgx/p/6367978.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

硬件:笔记本电脑7大分类总结,看完你就明白了

目录 游戏本 超极本 轻薄本 学生本 商务本 二合一电脑 上网本 今天给大家分享笔记本电脑7大场景分类&#xff0c;看完你就明白了&#xff01; 游戏本 游戏本最早由外星人和微星推出&#xff0c;在90年代就引起了众多游戏玩家的热捧。目前游戏本在笔记本电脑市场可谓是超级火爆&…

网路知识:为什么宽带越用越慢,看完你就明白了

目录 一、办理宽带的时候要问清楚宽带是不是独享的&#xff01; 二、定期重启路由器 三、定期检修宽带线路 四、出口光猫或路由器的问题 每个家庭都有安装宽带&#xff0c;但是仍然有不少人不知道宽带的基本常识&#xff0c;今天和大家一起来聊一聊。 首先宽带&#xff0c;是一…

设计模式---------门面模式

1.概念 提供一个统一的接口去访问多个子系统的多个不同的接口&#xff0c;它为子系统中的一组接口提供一个统一的高层接口。使用子系统更容易使用。 本质&#xff1a;就是化零为整&#xff1b;引入一个中介类&#xff0c;把各个分散的功能组合成一个整体&#xff0c;只对外暴…

电脑技巧:推荐五款超级好用的电脑小众软件

目录 1、HoneyView 看图神器 2、PeaZip 压缩软件 3、Sandbox 沙盘工具 4、Seer 预览神器 5、flux 护眼神器 今天给大家推荐五款超级好用的电脑小众软件&#xff0c;希望对大家能够有所帮助&#xff01; 1、HoneyView 看图神器 HoneyView 看图软件&#xff0c;打开速度非常快&am…

java math round小数_Java——Math的round方法

代码如下&#xff0c;后面的注释是输出的结果public static voidmain(String[] args) {System.out.println(Math.round(0.399));//0System.out.println(Math.round(0.4));//0System.out.println(Math.round(0.41));//0System.out.println(Math.round(0.499));//0System.out.pri…

电脑软件:9款超级实用的办公软件

目录 一、Quicker 二、Eagle 三、FSCapture 四、图说 五、Lively Wallpaper 六、爱奇艺万能联播 七、Fliqlo 八、Folder Painter 九、7Zip 今天给大家分享9款超级实用的办公软件&#xff0c;值得收藏&#xff01; 一、Quicker 作为全网好评的这款国产软件&#xff0c;可以秒杀很…

20145231 《信息安全系统设计基础》期中总结

20145231 《信息安全系统设计基础》期中总结 教材学习内容复习 结合课本知识及再次实践加深理解记忆 按照学习时相关重点知识的顺序进行整理归纳 实践内容&#xff1a;重要命令的使用 gdb调试栈帧&#xff08;再理解&#xff09; makefile 编译运行代码深入理解局部性 Linux中的…

资源分享:分享5个冷门而超级实用的在线网站

目录 1、网站配色-Adobe color 1、YYDS电影 3、蓝调music 4、在线艺术图库 5、全景看世界 AirPano 1、网站配色-Adobe color 网站&#xff1a;https://color.adobe.com/zh/ 只需要在网上找到一张有你喜欢的颜色的任意图片或者照片&#xff0c;拖入网页&#xff0c;Adobe Color …

常用插件:分享12款超级好用的 Chrome 插件

1、dblock Plus&#xff1a;免除广告困扰你是不是每次搜索百度前几个都是广告&#xff1f;有了它&#xff0c;你的搜索结果只有纯净。2. 监听网络请求插件simple-extension插件让每个网站都可以保存/切换Cookies、切换User-Agent&#xff0c;简单地监听网络请求。地址&#xff…

IrregularGridCollectionView处理不定宽度的标签cell

IrregularGridCollectionView处理不定宽度的标签cell 效果 源码 https://github.com/YouXianMing/UI-Component-Collection 中的 IrregularGridCollectionView // // IrregularGridCollectionView.h // IrregularGridCollectionView // // Created by YouXianMing on 16/8/3…

服务端负载均衡和客户端负载均衡

服务端负载均衡 用户在App访问通过80端口请求nginx,ngin来实现负载均衡&#xff0c;分发请求 客户端负载均衡 Eureka Server注册中心集群部署&#xff0c;goods_services服务提供者启动后向Eureka Server注册中心进行服务注册 App服务从Eureka Server发现服务 goods_servic…

java上传和下载文件代码_JavaWeb中上传和下载文件实例代码

一丶先引入上传下载的lib二丶上传的的servletpackage com.test.action;import java.io.file;import java.io.fileoutputstream;import java.io.ioexception;import java.io.inputstream;import java.io.outputstream;import java.util.list;import javax.servlet.servletexcept…

操作系统:Linux 环境变量配置的 6 种方法

目录 Linux环境变量配置 Linux读取环境变量 Linux环境变量配置方法一&#xff1a;export PATH Linux环境变量配置方法二&#xff1a;vim ~/.bashrc Linux环境变量配置方法三&#xff1a;vim ~/.bash_profile Linux环境变量配置方法四&#xff1a;vim /etc/bashrc Linux环境变量…

操作系统:Win10有哪些版本,看完你就知道了

目录 一、win10家庭版 二、win10专业版 三、win10企业版 四、win10教育版 Win10有四个版本是我们最常见的&#xff1a;win10家庭版、win10专业版、win10企业版、win10教育版。 今天就主要说这4个比较经典的版本&#xff0c;一起来看看吧&#xff01; 一、win10家庭版 一般来说&…

硬件知识:打印机常见的故障及维护,值得收藏

一、打印时不出墨症状 打印机在联机或自检时&#xff0c;打印头有动作&#xff0c;但打印不出墨。故障分析 这一情况发生&#xff0c;有多方面原因&#xff0c;可能包括喷头故障&#xff0c;清洁单元故障&#xff0c;电镀及电路板故障等&#xff0c;但在排除了喷头故障后可以这…