按日期把文件区分以及修改文件的mtime

模拟场景:

在一个目录下存在不同天产生的大量文件,而且文件命名没有日期的标识,如何把这些文件按照日期分到不同的文件夹。


按照文件修改的日期也就是mtime把文件做区分


> date

Tue Dec 20 14:04:04 CST 2016


修改文件的mtime

/sysout> touch -c -t 12180010 file{101..200}

12180010表示12月18号0点10分


/sysout> find -mtime +1 -type f | more

./file135

./file168

。。。


核实文件个数

/sysout> find -mtime +1 -type f | wc -l

100


/sysout> l file102

-rw-r--r-- 1 testuser testuser 0 Dec 18 00:10 file102


创建备份文件的日期

> date --date='2days ago' +%Y%m%d

20161218


备份脚本

> vi baklog.sh

#!/bin/bash

LOGDIR=/sysout

LOGDATE=`date --date='2 days ago' +%Y%m%d`

BAKDIR=/backup/$LOGDATE

cd $LOGDIR

mkdir $BAKDIR

find -mtime +1 -name "file*" -exec mv {} $BAKDIR \;


猜你喜欢

转载自blog.csdn.net/duanbiren123/article/details/80190376