Linux运维知识之Linux服务器使用Crontab控制定时任务
小标 2019-01-03 来源 : 阅读 1174 评论 0

摘要:本文主要向大家介绍了Linux运维知识之Linux服务器使用Crontab控制定时任务,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

本文主要向大家介绍了Linux运维知识之Linux服务器使用Crontab控制定时任务,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。


Crontab,可以将任何脚本、程序或文档安排在某个最方便的时间运行。通俗的讲就是定时执行某个脚本、程序。


常见用途:


定时关机

定时检查更新

定时对系统配置、数据库、日志进行备份

定时清理垃圾文件


检测是否已安装


crontab
-bash: crontab: command not found


执行 crontab 命令如果报 command not found,就表明没有安装.


开始安装


#yum -y install vixie-cron crontabs -y


crontab 并不支持-h或–help之类的选项,不过还是可以通过它查看命令帮助


# crontab -h


也可以使用 info crontab 命令查看详细的帮助信息。


cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:


crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务


比如说root查看自己的cron设置:


crontab -u root -l


再例如,root想删除fred的cron设置:


crontab -u fred -r


在编辑cron服务时,编辑的内容有一些格式和约定,输入:


crontab -u root -e


进入vi编辑模式,编辑的内容一定要符合下面的格式:/1 * * * ls >> /tmp/ls.txt



Crontab配置方法:


重点来了:


每个用户可以直接修改文件 /var/spool/cron/user来控制/etc/crontab文件,root的话就是


/var/spool/cron/root


直接编辑此文件即可自动化运行,示例:


echo  "0 1 * * * /sbin/reboot > /dev/null 2>&1"  >> /var/spool/cron/root


这个脚本每天1点自动重启服务器

添加之后使用


crontab -l


可以看到已经添加了Crontab任务。


方法二:


echo "0 1 * * * /sbin/reboot > /dev/null 2>&1" >1.sh
crontab 1.sh


意思也就是先把定时任务存为文件,在使用Crontab来调用,也可以添加成功。

添加之后使用


crontab -l


也可以看到已经添加了Crontab任务。

这样就能使得Crontab添加脚本自动化运行相关程序。

Crontab比init.d运行级别大一些,用Crontab来控制程序运行更加完美。



Crontab状态控制


/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //查看状态


或者使用


# service crond start
# service crond stop
# service crond restart
# service crond reload
# service crond status


想记录下来的也就是—之间部分。。。

附上一个Crontab定时重启服务器脚本:


#!/bin/bash
#  .-------------------------------------------------------------
#  | Bash Name: 服务器定时重启脚本
#  | Version: 1.0
#  | This Is a Shell Script ,Easy To Use
#  | Web Site: https://4ker.cc/crontab.html
#  |--------------------------------------------------------------
#  | Author: 刺猬 <a@4ker.ccc>
#  | Copyright (c) 2017, https://4ker.cc All Rights Reserved.
#  .--------------------------------------------------------------
echo "欢迎使用服务器定时重启脚本"
echo '请输入重启服务器的时间:(示例:数字1-9,表示1-9点):'
read time
yum install vixie-cron crontabs -y
chkconfig crond on
systemctl enable crond.service
service crond start
/bin/systemctl start crond.service
echo  "0 $time * * * /sbin/reboot > /dev/null 2>&1"  >> /var/spool/cron/root
echo "添加成功,服务器在每天$time自动重启!"
sleep 1
echo "服务器将重启使脚本生效!"
reboot
echo ;


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程