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

c4468b3f4df77e96b0a416fa2a870fba.png

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函数截图:

lh5fakkyrxp.png

友情提示:如果执行不成功,可试着将/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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值