文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux下自动化工具 cron jobs 的使用方法解析

2022-06-03 13:57

关注

Cron jobs的简单使用

cron jobs 可以将任何的工作设定为定期自动化执行,如工作日志、备份、密码查核、硬盘空间查核等等, 设定且利用这些自动化的工作可以大幅降低系统管理者的日常工作,这些工作通常可以设定在半夜执行以避免在系统尖峰时刻与正常工作共抢系统资源。

############################
# crontab 使用
############################
$ export EDITOR=vi    # 设定 EDITOR 系统参数,在此请输入个人习惯使用的文字编辑器
$ crontab -e          # 编写个人 cron jobs table
                      # 此时 crontab 会利用 $EDITOR 这个系统参数,启动文字编辑器
*/1 * * * * date >> /tmp/date    # 此语法表示每一分钟执行 date 一次。
$ crontab -l          # 列出当前个人的 crontab 设定档
$ cat /tmp/date                            
$ cat /tmp/date       # 请等待一分钟后执行
$ rm /tmp/date 
$ cat /tmp/date

############################
# crontab 格式说明
############################
*  *  *  *  *     date >> /tmp/date
分 时 日 月 周      执行的命令

# 每个月的 15 号上午 10 点 30 分执行,语法为
30 10 15 * *    [执行行的命令]

# 星期日早上 3 点 5 分执行,语法为
5 3 * * 7       [执行的命令]

# 每五分钟执行一次,语法为
*/5 * * * *     [执行的命令]

以下摘取于 man 5 crontab 用来说明各档位允许的值
              field          allowed values
              -----          --------------
              minute         0-59
              hour           0-23
              day of month   1-31
              month          1-12 (or names, see below)
              day of week    0-7 (0 or 7 is Sun, or use names)

以下是我的系统自动执行date函数截图:

cronjobs-date

友情提示:如果执行不成功,可试着将/tmp/date改成当前用户可读写路径。

系統定期的 cron jobs

$ cat /etc/crontab 

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
25 6    * * *   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6    * * 7   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6    1 * *   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.monthly
#

############################
# /etc/crontab 说明
############################
# 25 6    * * * 每天早上六点 25 分,执行存放在 /etc/cron.daily 下安排的所有工作
# 47 6    * * 7 星期天早上六点 47 分,执行存放在 /etc/cron.weekly 下安排的所有工作
# 52 6    1 * * 每个月一号早上六点 52 分,执行存放在 /etc/cron.monthly 下安排的所有工作

您只要将您所编写好的 shell script 存放在 /etc/cron.daily 就可以达到每天定期执行的效果。 在此笔者提供一备份的 shell script 提供给读者参考。 你可以将他放置在 /etc/cron.weekly 这样就可每周定期执行备份工作:

$ edit /etc/cron.weekly/backup-utils

#!/bin/bash
SOURCE_DIR="/etc /var /home"    # 填入你想备份的目录
BACKUP_DIR="/backup"            # 填入你想备份到那个目录下,此处预设为 /backup
BACKUP_NAM="BACKUP-"            # 填入你想备份后的文档名前缀

DATE=$(date +%m%d)          
FILE_NAME="${BACKUP_DIR}/${BACKUP_NAM}${DATE}.tgz"

tar cvfz $FILE_NAME $SOURCE_DIR

$ chmod +x /etc/cron.weekly/backup-utils
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯