具体情境
Ubuntu16.04系统,将.tar.gz格式的文件从/home/myftp/upload/nuodongiot目录自动解压到/home/myftp/upload/backupcopy目录中,并将源目录/home/myftp/upload/nuodongiot中的文件移动至/home/myftp/upload/extarct目录中
该过程进行单个文件进行移动,同时运行一次变将操作信息保存到日志中,日志目录为log="/home/myftp/zdjy.log"
#! /bin/bash#日志目录log="/home/myftp/zdjy.log"exec 2>>$log#获取当前时间curtime=`date +"%Y/%m/%d %H:%M:%S"`#打开指定目录cd /home/myftp/upload/nuodongiot#获取目录中的文件数count=`ls -l|grep '^-'|wc -l`#对目录中的每个文件进行操作,判断目录中是否有文件if [ $count -ne 0 ];thenfor i in `ls -1`doecho "操作文件名:$i ">>$log;# 将文件解压到指定目录tar zxvf /home/myftp/upload/nuodongiot/$i -C /home/myftp/upload/backupcopy;#将文件移动到指定目录mv /home/myftp/upload/nuodongiot/$i /home/myftp/upload/extarct;doneecho "$curtime ,执行成功,操作数目: $count">>$logelseecho "$curtime nuodongiot is empty.">>$logfi
运行结果
/home/myftp/upload/nuodongiot目录为空,已经将文件移动至/home/myftp/upload/extarct目录,如下
解压后的目录为/home/myftp/upload/backupcopy目录,这个目录下面的文件内容不截图
脚本操作后日志
当然我的解压脚本加入到crontab -e,定时执行
#定时执行,每天凌晨3:30执行/home/myftp/zdjy.sh脚本30 3 * * * /home/myftp/zdjy.sh