Linux定时任务小demo

本文介绍如何使用crontab命令在Linux系统中设置定时任务。通过示例演示了如何配置脚本backup.sh每5分钟自动备份指定目录下的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


       Linux的定时任务主要依赖于crontab命令,crontab命令的功能是在一定的时间间隔调度一些命令的执行。在Linux中做定时任务时,仅需要在/etc/crontab 文件中增加自己需要设置的定时任务频次和需要执行的脚本内容即可。


先来查看/etc/crontab文件

cat  /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# 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
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed


我们看到文件/etc/crontab中每行任务的描述格式如下:

从左到右每列分别为

minute hour day month dayofweek username command

    minute - 从0到59的整数 
    hour - 从0到23的整数 
    day - 从1到31的整数 (必须是指定月份的有效日期)
    month - 从1到12的整数 (或如Jan或Feb简写的月份)
    dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)

    username 需要执行命令的用户
    command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令)


我们在zhangqi用户桌面下创建一个备份文件的脚本backup.sh,这个脚本需要每5分钟执行一次

#!/bin/bash

#date 显示时间,用时间的不同做为备份文件的名字,这样以前的备份就不会被覆盖
cd /home/zhangqi/Desktop/
datename=$(date +%Y%m%d-%H%M)            #定义时间变量名和显示时间格式
tar -zcvPf /home/zhangqi/Desktop/$datename.tar.gz /home/zhangqi/Desktop/shellscript/*

我们使用root用户在/etc/crontab文件中做下配置

# *  *  *  *  * user-name command to be executed

*/5 * * * * zhangqi /home/zhangqi/Desktop/backup.sh

这样zhangqi用户桌面每隔5分钟便会出现一个新的tar.gz 文件出来



以上示例在Redhat虚拟机中测试通过,以上内容若有疏漏之处,还望批评斧正,不胜感激。谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值