需求说明:设置定时任务,每天凌晨1点进行将指定目录(/root/scripts)下文件按照archive_目录名_年月日.tar.gz的格式归档存放到/root/archive 路径下。
1、编写脚本文件archive_script.sh
1 #!/bin/bash
2 # 检查参数格式是否是1
3 if [ $# -ne 1 ]
4 then
5 echo "参数个数错误,应该输入一个参数作为归档目录名!"
6 exit
7 fi
8
9 # 检查参数是否为目录
10 if [ -d $1 ]
11 then
12 echo
13 else
14 echo "参数不是一个目录,请检查!"
15 exit
16 fi
17
18 # 获取目录名称和路径
19 DIR_NAME=$(basename $1)
20 DIR_PATH=$(cd $(dirname $1);pwd)
21
22 # 获取当前日期
23 DATE=$(date +%y%m%d)
24
25 # 定义生成的归档文件名称
26 FILE=archive_${DIR_NAME}_$DATE.tar.gz
27 DEST=/root/archive/$FILE
28
29 # 进行归档
30 echo "开始归档…"
31 tar -zcf $DEST $DIR_PATH/$DIR_NAME
32
33 # 判断归档是否成功
34 if [ $? -eq 0 ]
35 then
36 echo "已归档成功!"
37 echo "归档文件为:$DEST"
38 exit
39 fi
2、给脚本文件的属主添加可执行权限
[root@hadoop129 scripts]# chmod u+x archive_script.sh
3、设置定时任务
[root@hadoop129 scripts]# crontab -e
* 1 * * * /root/scripts/archive_script.sh /root/archive
4、查询定时任务
[root@hadoop129 scripts]# crontab -l
* 1 * * * /root/scripts/archive_script.sh /root/archive
手机扫一扫
移动阅读更方便
你可能感兴趣的文章