shell编程-文件归档

需求说明:设置定时任务,每天凌晨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

 

posted @ 2022-09-18 16:10  淘气的包子  阅读(88)  评论(0)    收藏  举报