linux压缩指定时间的文件,linux取文件指定时间压缩打包

获取文件时间:

[root@ ~]# ls --full-time beforedate.txt

-rwxr-xr-x 1 root root 27 2019-08-12 16:54:31.137000000 +0800 beforedate.txt

[root@ ~]# ls --full-time beforedate.txt| cut -d ' ' -f 6

2019-08-12

[root@ ~]# ls --full-time beforedate.txt| cut -d ' ' -f 7

16:54:31.137000000

[root@ ~]# ls --full-time beforedate.txt|awk '{print  $6 " " $7}'

2019-08-1216:54:31.137000000

[root@ ~]# ls --full-time beforedate.txt |awk '{print  $6 " " $7}' |cut -d '.' -f 1

2019-08-12 16:54:31

获取系统时间:

[root@ ~]# echo `date +%Y-%m-%d` `date +%H:%M:%S`

2019-09-27 14:41:23

------------------------实例------------------------

#!/bin/bash

#

#功能:查找指定日期范围内的文件,然后压缩打包。

#

BDATE=$(echo `ls --full-time beforedate.txt |awk '{print $6 " " $7}' |cut -d '.' -f 1`)

ADATE=$(echo `date +%Y-%m-%d` `date +%H:%M:%S`)

if [ -z "$1" ]; then

echo "读取文件开始时间"

else

echo "手工输入开始时间"

BDATE1=$1

BDATE2=$2

BDATE=$(echo ${BDATE1} ${BDATE2})

fi

echo 执行开始,时间起点【${BDATE}】截止日期【${ADATE}】!

cd /home

FILE=A`date "+%Y%m%d"`.tar.gz

#将文件名为首大写字母的,开始时间到系统时间打包

FILES=`find . -name  '[A-Z]*.txt' -newermt "${BDATE}" ! -newermt "${ADATE}" -type f -print`

if [ -z "${FILES}" ];then

echo "无文件生成!"

else

rm -f $FILE

tar zcvf ${FILE} ${FILES}

echo "文件已生成,位置:"

ls -ltr `pwd`/${FILE}

#更新日期

cd /root/

cat /dev/null > beforedate.txt

fi

echo 执行结束,时间起点【${BDATE}】截止日期【${ADATE}】!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值