具体情境
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 ];then
for i in `ls -1`
do
echo "操作文件名:$i ">>$log;
# 将文件解压到指定目录
tar zxvf /home/myftp/upload/nuodongiot/$i -C /home/myftp/upload/backupcopy;
#将文件移动到指定目录
mv /home/myftp/upload/nuodongiot/$i /home/myftp/upload/extarct;
done
echo "$curtime ,执行成功,操作数目: $count">>$log
else
echo "$curtime nuodongiot is empty.">>$log
fi
运行结果
/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
本文介绍了一个在Ubuntu16.04系统下使用bash脚本自动化解压.tar.gz文件并移动至指定目录的过程。脚本会将.tar.gz文件从/home/myftp/upload/nuodongiot目录解压至/home/myftp/upload/backupcopy,然后将原文件移动至/home/myftp/upload/extarct。所有操作记录在/home/myftp/zdjy.log日志中,通过crontab实现定时执行。
113

被折叠的 条评论
为什么被折叠?



