需求说明:设置定时任务,每天凌晨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.sh3、设置定时任务
[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
标签:shell,编程,echo,scripts,归档,root,archive,DIR From: https://www.cnblogs.com/zxt518/p/16705076.html