Linux centos下设置定时备份任务步骤

前言:
仅为实现jenkins工作目录及jenkins.war包定时自动备份,并自动清除7天前的备份数据

备份准备:
默认的备份存放目录:/opt/backup
需要备份的文件夹:/opt/jenkins_data
需要备份的文件:/opt/tomcat_jenkins/webapps/jenkins.war
时间戳添加:time=`date +%Y%m%d%H%M%S`
7天前数据自动删除

1、新建备份文件存放目录
[root@jenkins01 opt]#mkdir -p /opt/backup
2、编写backup.sh脚本
############################################
[root@jenkins01 backup]# vim backup.sh
#! /bin/bash
#jenkins备份到该目录下,定义变量使用单引号
bakpath='/opt/backup'
echo ${bakpath}
# 要备份的文件夹
workpath='/opt/jenkins_data'
echo ${workpath}
# 要备份的war包文件
warpath=/opt/tomcat_jenkins/webapps/jenkins.war
echo ${warpath}
# 引入时间戳,执行命令使用``,esc下面的
time=`date +%Y%m%d%H%M%S`
echo ${time}
# 备份文件夹及war包
cp -rf ${workpath} ${bakpath}/jenkins_data-${time}.bak
cp -rf ${warpath} ${bakpath}/jenkins.war-${time}.bak
# 删除7天前备份的文件夹和文件
find /opt/backup/  -name  'jenkins_data-*'  -type  d  -mtime +7  | xargs rm -rf
find /opt/backup/  -name "jenkins.*" -mtime +7 -exec rm -rf {} \;
echo "backup successful"
############################################
3、赋予脚本执行权限
[root@jenkins01 backup]#chmod 755 backup.sh
4、编辑定时任务
[root@jenkins01 backup]# crontab -e
新增以下内容:因测试需要,设置5分钟自动备份一次
*/5 * * * * sh /opt/backup/backup.sh
5、查看定时任务
[root@jenkins01 backup]# crontab -l
6、重启crond
[root@jenkins01 backup]# service crond reload
7、删除定时任务
[root@jenkins01 backup]# crontab -r

一、定时任务补充
crontab文件中的行由6个字段组成,不同字段间用空格分割。前5个字段指定命令要运行的时间,最后一栏代表要执行的命令,格式如下:

minute   hour   day   month   week   command     [按顺序分别是:分钟(0-59) 小时(0-28) 日期(1-31) 月份(1-12) 星期(0-6,其中0代表星期日)]

command第六个字段是一个要在适当时间执行的命令(注意:当使用crontab运行shell脚本时,要由用户来给出脚本的绝对路径)
星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如
/10,如果用在minute字段,表示每十分钟执行一次。

常用示例:

每五分钟执行一次: */5 * * * *
每小时执行一次 : 0 * * * *
每天执行一次: 0 0 * * *
每周执行一次: 0 0 * * 0
每月执行一次: 0 0 1 * *
每年执行一次: 0 0 1 1 *
30 21 * * * /apps/bin/cleanup.sh          //表示每晚的21:30 运行/apps/bin/目录下的cleanup.sh脚本。
45 4 1,10,22 * * /apps/bin/cleanup.sh     //表示每月1,10,22日的4:45 运行/apps/bin/目录下的cleanup.sh脚本。
10 1 * * 6,0 /apps/bin/cleanup.sh         //表示每周六、周日的1:10 运行/apps/bin/目录下的cleanup.sh脚本。
0,30 18-23 * * * /apps/bin/cleanup.sh     //表示在每天18:00至23:00之间每隔30分钟 运行/apps/bin/目录下的cleanup.sh脚本。
0 23 * * 6 /apps/bin/cleanup.sh           //表示每星期六的23:00 运行/apps/bin/目录下的cleanup.sh脚本。
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值