16.linux计划任务管理

这篇具有很好参考价值的文章主要介绍了16.linux计划任务管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

linux计划任务管理

1. crond计划任务概述

什么是计划任务,计划任务类似于我们平时生活中的闹钟。
Linux系统的计划任务服务crond可以满足周期性执行任务的需求。
crond进程每分钟会处理一次计划任务, 计划任务主要是做一些周期性的任务目前最主要的用途是定时备份数据

Schedule one-time tasks with at.   一次性调度执行 at
Schedule recurring jobs with cron. 循环调度执行 cron
Schedule recurring system jobs. 所有计划任务执行中的输出都会以邮件的方式发送给指定用户, 除非重定向


//循环调度执行cron 进程每分钟会处理一次计划任务
[root@wangqing ~]# systemctl status crond
[root@wangqing ~]# ps aux |grep crond
root      1201  0.0  0.0 126264  1640 ?        Ss   11:15   0:00 /usr/sbin/crond -n

计划任务分为以下两种情况:

  • 系统级别的定时任务:

    清理系统缓存
    临时文件清理
    系统信息采集
    日志文件切割

  • 用户级别的定时任务:

    定时同步互联网时间
    定时备份系统配置文件
    定时备份数据库文件

2. crond配置文件详解

文件              说明
/etc/crontab        //crontab配置文件
/etc/cron.deny      //该文件中所列用户不允许使用crontab命令
/var/spool/cron/*   //所有用户定时文件都存放此目录,文件以用户名命名
/var/log/cron       //定时任务执行后的日志文件,可用来回溯

3. crond计划任务管理

crond任务管理

参数          含义                指定示例
[root@wangqing ~]# crontab --help
-e      编辑crontab文件内容       crontab -e
-l      查看crontab文件内容       crontab -l
-r      删除crontab文件内容       crontab -r
-u      管理其他用户的计划任务 crontab -u wangqing -l
注意: crontab {-l -e}实际上就是在操作/var/spool/cron/username

//如何进行计划任务的备份?

crond时间含义

# 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  //星期
# |  |  |  |  |
# *  *  *  *  *   command to be executed

// *    表示任意的(分、时、日、月、周)时间都执行
// -    表示一个时间范围段,5-7// ,    表示分隔时段,6,0,4表示周六、日、四
// */n  表示每隔n单位时间,*/1010分钟

crond编写示例

00 02 * * * command
00 02 1 * * command
00 02 14 2 * command
00 02 * * 7 command
00 02 * 6 5 command
00 02 14 * 7 command
00 02 14 2 7 command
00 02 * * * command
*  02 * * * command
* * * * *  command
* * 14 2 *  command
*/5 * * * *  command
00 02 * 1,5,8 * command
00 02 1-8 * *  command

crond书写规范

//1.为计划任务增加必要的注释
[root@wangqing ~]# crontab -l
##time sync
*/5 * * * * /usr/sbin/ntpdate time1.aliyun.com &>/dev/null

//2.规范计划任务执行脚本存放的路径/scripts/
[root@wangqing ~]# crontab -l
##backup www to /backup
30 01 * * * /bin/sh /scripts/www_backup.sh &>/dev/null

//3.执行shell脚本任务前加/bin/sh, 脚本结尾加&>/dev/null
//调试好后应屏蔽debug输出信息,避免产生系统垃圾占用过多inode, 如需输出日志, 可重定向至日志文件
[root@wangqing ~]# crontab -l
####backup www to /backup
30 01 * * * /bin/sh /scripts/www_backup.sh &>/tmp/www_backup.log

4. crond配置编写实例

[root@wangqing ~]# crontab -e

#每天凌晨切割nginx日志
05 00 * * * /bin/bash -x /scripts/cut_nginx.sh &> /scripts/log/nginx.log

#每天5点备份数据库
00 05 * * * /bin/bash -x /scripts/dump_sql.sh &>/scripts/log/mysql.log



//注意:
1.我们所有的crond服务是运行的程序。而crontab命令用户用来设置定时规则的命令。
2.crond服务是企业生产工作中常用的重要服务,at很少使用,可以忽略。
3.几乎每个服务器都会用到crond服务。

5. crond计划任务调试

  1. 调整任务每分钟执行, 检测是否是否正常, 有些任务不要频繁执行
  2. 调整系统时间然后在检测任务, 生产不建议直接使用此方式
  3. 执行脚本, 将脚本执行输出写入指定日志文件, 观察日志内容是否正常
  4. 注意一些任务命令带来的问题echo “wangqing” >>/tmp/test.log &>/dev/null
  5. 命令使用绝对路径, 防止无法找到命令导致定时任务执行故障
  6. 查看/var/log/cron日志进行调试

建议: 将需要定期执行的任务写入脚本中, 建立/scripts目录统一存放脚本, 脚本中命令必须使用绝对路径,手动执行脚本检测输出是否正常, 然后将脚本加入计划任务测试, 测试后无问题将脚本输出写入对应的日志文件中即可。

计划任务添加步骤:文章来源地址https://www.toymoban.com/news/detail-788216.html

  1. 手动执行保留执行命令的正确结果
  2. 编写脚本
    • 脚本需要统一路径/scripts
    • 脚本开头建议填写注释信息, 包括执行时间、周期、任务
    • 脚本内容复制执行成功的命令至脚本文件中(减少每个环节出错几率)
    • 脚本内容尽可能的优化, 使用一些变量或使用简单的判断语句
    • 脚本执行的输出信息不要随意打印, 可以重定向至其他位置保留或丢入黑洞
  3. 执行脚本
    • 使用bash执行, 防止脚本没有增加执行权限(/bin/bash)
    • 执行命令以及脚本成功后并复制该命令
  4. 编写计划任务
    • 加上必要的注释信息, 人、时间、任务
    • 设定计划任务执行的周期
    • 加入执行脚本的命令
  5. 调试计划任务
    • 增加任务频率测试、调整系统时间测试(不能用于生产)
      h执行, 防止脚本没有增加执行权限(/bin/bash)
    • 执行命令以及脚本成功后并复制该命令
  6. 编写计划任务
    • 加上必要的注释信息, 人、时间、任务
    • 设定计划任务执行的周期
    • 加入执行脚本的命令
  7. 调试计划任务
    • 增加任务频率测试、调整系统时间测试(不能用于生产)
    • 检查环境变量问题、检查crond服务产生日志进行排查

到了这里,关于16.linux计划任务管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Ansible cron模块 适用于管理计划任务 设置多个计划任务

    其使用的语法跟我们的 crontab 文件中的语法一致,同时,可以指定以下选项: day= #日应该运行的工作( 1-31, , /2, ) hour= # 小时 ( 0-23, , /2, ) minute= #分钟( 0-59, , /2, ) month= # 月( 1-12, *, /2, ) weekday= # 周 ( 0-6 for Sunday-Saturday, ) job= #指明运行的命令是什么 name= #定时任务描述 reboot # 任务

    2024年02月21日
    浏览(47)
  • Linux计划任务

    计划任务: 固定时间执行固定任务(如闹钟定时报钟) 例如:系统周期性所要执行的备份系统数据、清理缓存等。 计划任务的命令:at命令,crontab命令 at命令                     用于一次性计划任务 crontab命令            用于周期性计划任务 一、at命令 1、at命令

    2024年02月12日
    浏览(59)
  • Linux基础之计划任务

    在Linux的运维中,我们经常会使用到计划任务,所谓计划任务就是在某个时间让计算机做某件事情。我们可以将计划任务分为一次性的调度执行和循环调度执行。 一次性调度执行在实际情况中使用少于循环调度执行。在Linux操作系统中使用 at TIMESPEC 命令即可,这里的TIMESPEC指

    2024年02月13日
    浏览(37)
  • Linux程序、进程和计划任务

    目录 一.程序和进程 1.程序的概念 2.进程的概念 3.线程的概念 4.单线程与多线程 5.进程的状态 二.查看进程信息相关命令: 1.ps:查看静态进程信息状态 2.top:查看动态进程排名信息 3.pgrep:查看指定进程  4.pstree:以树形结构列出进程信息  6.iostat:显示所有设备负载情况  三

    2024年01月19日
    浏览(48)
  • Linux的例行性工作(计划任务)

    目录 一、单一执行的例行性任务--at(一 次性) 1、安装 2、启动服务 3、at命令详解 1)格式 2)参数 3)时间格式 4、实例 二、循环执行的例行性任务-- crontab(周期性) 1、crontd服务 2、工作过程 3、crontab命令详解 编辑crontab 书写定时任务的注意事项 系统级别的计划任务 查看

    2024年01月25日
    浏览(57)
  • Linux计划任务(Cron):小白完全指南

    在Linux系统中,计划任务(Cron)是一种强大的工具,可以自动执行预定的任务。它非常适合定期运行脚本、备份数据、清理临时文件等一系列重复性任务。本文将向您介绍如何使用Cron来安排和管理计划任务,以帮助小白用户轻松上手。 一、了解基本概念 Cron表达式:Cron使用

    2024年02月07日
    浏览(46)
  • 2.Linux的例行性工 作(计划任务)

    目录 1. 场景: 2. 单一执行的例行性任务--at(一次性) 2.1. 安装 2.2. at命令详解 2.2.1. 格式 2.2.2. 参数 2.2.3. 时间格式 2.2.4. 实验1 2.2.5. 实验2 2.2.6. 注意 2.2.7. at命令执行过程分析 2.2.8. 实验3 3. 循环执行的例行性任务-- crontab(周期性) 3.1. crontd服务 3.2. crontab工作过程 3.3. crontab命

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

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

    2024年02月16日
    浏览(44)
  • Django-linux主机计划任务查看服务

    目录 需求 功能介绍 页面效果 代码编写 docker部署   线上主机一百台左右,经常会在某个服务器上放置一些自动化脚本,并配置计划任务,时间长可能忘记计划任务所在服务器,所以开发一个用于收集展示crontab任务的服务 python3.9 / Django 模块:Django~=4.2.3、paramiko~=3.2.0 版本别

    2024年02月16日
    浏览(28)
  • 1.4 - 操作系统 - Linux计划任务,CronTab用法详解

    「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「订阅专栏」: 此文章已录入专栏《网络安全入门到精通》 Linux系统使用CronTab命令来操作计划任务。 crontab对应的服务是crond,服务关闭时,计划任务将不可用。 参数 -l (listÿ

    2024年02月07日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包