Linux:shell 脚本 自动解压压缩文件tar.gz到指定目录

具体情境

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

 

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值