前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux服务器使用Crontab控制定时任务

Linux服务器使用Crontab控制定时任务

作者头像
刺_猬
发布2018-06-21 15:33:35
2.2K0
发布2018-06-21 15:33:35
举报
文章被收录于专栏:刺客博客

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://cloud.tencent.com/developer/article/1150301

 |--------------------------------------------------------------

 | 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服务器使用Crontab控制定时任务

» 转载请注明来源:刺客博客

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • crontab -h
  • service crond start
  • service crond stop
  • service crond restart
  • service crond reload
  • service crond status
  •  .-------------------------------------------------------------
  •  | Bash Name: 服务器定时重启脚本
  •  | Version: 1.0
  •  | This Is a Shell Script ,Easy To Use
  •  | Web Site: https://cloud.tencent.com/developer/article/1150301
  •  |--------------------------------------------------------------
  •  | Author: 刺猬 a@4ker.ccc
  •  | Copyright (c) 2017, https://4ker.cc All Rights Reserved.
  •  .--------------------------------------------------------------
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档