Linux的定时任务--CronTab 命令详解及使用教程

这篇具有很好参考价值的文章主要介绍了Linux的定时任务--CronTab 命令详解及使用教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一: Linux的定时任务crontab

Linux crontab 是用来定期执行程序的命令。(Nginx 日志切割,数据库备份等)

当安装完成操作系统之后,默认便会启动此任务调度命令。

crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行。

而 linux 任务调度的工作主要分为以下两类:

1、系统执行的工作:
     系统周期性所要执行的工作,如备份系统数据、清理缓存
2、个人执行的工作:
     某个用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置

1.crontab安装与使用

安装crontab

1.1 检测系统是否安装crond服务

service crond status

1.2 安装

yum -y install vixie-cron
yum -y install crontabs

vixie-cron 软件包是 cron 的主程序;

crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

1.3 创建任务

直接输入命令crontab -e 或者编辑文件/etc/crontab 就可以直接编辑并且添加新的任务
命令:

crontab -e
或者
vi /etc/crontab

新的任务:

*/1 * * * * /usr/local/nginx/sbin/cut_my_log.sh

1.4 重启定时任务:

service crond restart

1.5 其他说明

1.5.1 crontab其他命令
service crond start     //启动服务
service crond stop      //关闭服务
service crond restart   //重启服务
service crond reload    //重新载入配置
service crond status    //查看crontab服务状态
1.5.2 设置开机自动启动
chkconfig --level 345 crond on
1.5.3 定时任务设置
  1. 直接输入命令crontab -e 或者编辑文件/etc/crontab 就可以直接设置定时任务。

  2. 输入 crontab -e

  3. 按下 a 键进入到编辑模式

  4. 输入 0 */1 * * * /home/work/start-service.sh

  5. 同时按下 ctrl+c 退出编辑模式

  6. 按下 shift + : 输入 wq 退出 crontab

与vi编辑文件步骤一样

1.5.4 定时任务格式如下:
*   *   *  *  *  command

分 时 日 月 周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”。

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”。

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

Crontab执行时间计算工具:
https://tool.lu/crontab

1.5.5 示例
30 21 * * * /usr/local/etc/rc.d/lighttpd restart   //每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart  //每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart  //每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart   //每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart   //每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart   //每一小时重启apache

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart    //晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart    //每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart     //一月一号的4点重启apache

*/30 * * * * /usr/sbin/ntpdate 210.72.145.44     //每半小时同步一下时间

二: 利用crontab定时备份mysql数据库

1. 本地备份

实现本地备份A服务器的数据库 备份文件依然在A服务器

1.1 新建脚本命令

vi /usr/local/bin/mysql-local-backup.sh

脚本内容

DATE=$(date +%Y%m%d)
mysqldump -uroot -p'数据库密码' test > /var/lib/mysql/backup/test-"$DATE".sql;

test为要备份的数据库,test-“$DATE”.sql为保存的备份文件
crontab命令详解,linux,数据库,运维
1.2 修改脚本权限

chmod +x /usr/local/bin/mysql-local-backup.sh

1.3 添加crontab定时任务
参照上面1.crontab安装与使用

2. 远程备份

使用ssh协议的scp命令把A服务器备份的文件上传到B服务器上,实现远程备份,前提条件是A服务器与B服务器建立了互信,也就是ssh免密登录。
2.1 新建脚本命令

vi /usr/local/bin/mysql-local-backup.sh

2.2 脚本内容 添加scp命令

DATE=$(date +%Y%m%d)
mysqldump -uroot -p'数据库密码' test > /usr/local/bin/mysql/backup/test-"$DATE".sql;
scp /usr/local/bin/mysql/backup/test-"$DATE".sql  137:/usr/local/bin/mysql/remote-backup/;

2.3 添加crontab定时任务
参照上面1.crontab安装与使用

可參考文檔文章来源地址https://www.toymoban.com/news/detail-573241.html

  1. 菜鸟教程Linux crontab 命令
  2. crontab详解

到了这里,关于Linux的定时任务--CronTab 命令详解及使用教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux 服务器运维】定时任务 crontab 详解 | 文末送书

    本文思维导图概述的主要内容: 1.1 什么是 crontab Crontab 是一个在 Unix 和 Linux 操作系统上 用于定时执行任务 的工具。它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。Crontab 是 cron table 的缩写, cron 指的是 Unix 系统中的一个后台进程,它

    2024年02月08日
    浏览(85)
  • Linux定时任务详解&crontab -e 编辑之后如何保存并退出(Ubuntu)

    1. 保存 操作命令如下: crontab -e 打开crontab的配置文件,并编辑完成 Ctrl + O 写入内容, 出现 File name to Write ... ,输入 Enter Ctrl +X 保存并输出,保存完成 service cron restart , 重启 crontab 定时任务 2. 验证 两种验证方式: 使用 crontab -e 命令打开任务配置文件,此时可以看到刚才保

    2024年01月17日
    浏览(46)
  • Linux--crontab命令详解--循环执行的计划任务

    循环执行任务是由cron(crond)这个系统服务来控制的。用户想要建立循环的计划任务时,使用的是crontab这个命令,为了避免安全性的问题,和at一样,我们可以限制使用crontab的账号,可以使用的配置文件有: /etc/cron.allow 将可以使用crontab的账号写入,不在这个文件中的账户则不能使用cr

    2024年02月16日
    浏览(44)
  • Linux学习笔记-Ubuntu下使用Crontab设置定时任务

    白衣沽酒绮罗生 百代繁华一朝都,谁非过客;千秋明月吹角寒,花是主人。 crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο

    2024年02月04日
    浏览(40)
  • crontab做系统定时任务命令

    给系统设置一个定时的任务,相当于一个闹钟 我们每天的0点去做一些清理工作,自检工作,重要数据存盘备份工作,一个组里面很多同时都在提交代码,git作为代码管理工具,每一天都可能使用git仓库里面的代码 用里面的代码做一个打包,生成当成哦我们软件的一个版本,

    2024年02月06日
    浏览(47)
  • 【Linux】crontab 定时任务

    当你需要在Linux系统中定期执行某些任务时,crontab(cron table)是一个非常有用的工具。它允许你根据预定的时间表创建和管理定时任务。 按照进程的功能和运行的程序分类,进程可划分为两大类。 系统进程 :可以执行 内存资源分配和进程切换等 管理工作;而且,该进程的

    2024年02月10日
    浏览(54)
  • Linux 定时任务调度(crontab)

    Crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。 可以使用Crontab定时处理离线任务,比如每天凌晨2点更新数据等,经常用于系统任务调度。 一般Linux系统中都会装有Crontab,如果没有安装可以使

    2024年02月07日
    浏览(72)
  • Linux通过crontab定时执行脚本任务

    在Linux中可以使用crontab来定时执行脚本。crontab是一个用于管理定时任务的工具,可以让在特定的时间间隔内自动运行脚本或命令。 需求 : 在Linux中每分钟写入一条信息到指定文件中,使用 cron 来定期执行一个写入命令或脚本 首先,在 home 目录下创建一个名为 testscript.sh 的脚

    2024年02月17日
    浏览(48)
  • Linux 定时任务 crontab 用法学习整理

    lsb_release -a linux中crontab命令用于设置周期性被执行的指令,该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。cron 系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。cron是系统主要的调度

    2024年02月11日
    浏览(43)
  • linux-crontab每分钟定时执行/定时任务调度

    本文讲解linux上如何调用定时任务,如每分钟打印日志,每日24点执行日志切割脚本等等。 在Linux系统中,crontab命令是一个用于执行定时任务的命令, crond(crontab)是系统默认自带的定时服务 。我们可以通过编辑crontab文件来设置定时任务,使系统可以自动按照设定的时间和频率

    2024年02月06日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包