1、时间
https://www.cnblogs.com/tangshiguang/p/6735367.html 总结很全
取一天后日期
date=`date -d "$date 1 day" +%Y%m%d`
取一天前日期
date=`date -d'1 days ago' +%Y-%m-%d`
取指定日期前几天
date -d '20190220 20 days ago' +%Y%m%d
结果:20190131
注:如果上面的天数20190220是变量 ,那么需要把单引号变成双引号,单引号会报错。。。原因。。。我再看吧
d1=20190220
date -d $d1 '20 days ago' +%Y%m%d
结果:date: invalid date `$d1 20 days ago'
date -d "$d1 20 days ago" +%Y%m%d
结果:20190131
打印当前时间戳
date +%s
将当前时间戳转化成当前时间
date +%Y:%m:%d -d @1425384141
转换指定日期为Unix时间戳:
date -d '2013-2-22 22:14' +%s
date -s //设置当前时间,只有root权限才能设置,其他只能查看。date -s 20100101 //设置成20100101,这样会把具体时间设
置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期期做更改
date -s “01:01:01 2010-01-01 ″ //这样可以设置全部时间
date -s “01:01:01 20100101″ //这样可以设置全部时间
2、find
二、find . –mtime中的参数n
find . –mtime n中的n指的是24*n, +n、-n、n分别表示:
+n: 大于n
-n: 小于n
n:等于n
但是man find里这样的解释还是比较令人费解的,不如直接看find . -mtime 中的用法
find . –mtime n: File waslast modified n*24 hours ago.
最后一次修改发生在距离当前时间n*24小时至(n+1)*24 小时
find . –mtime +n:
最后一次修改发生在n+1天以前,距离当前时间为(n+1)*24小时或者更早
find . –mtime –n:
最后一次修改发生在n天以内,距离当前时间为n*24小时以内
一个应用例子
find $WORK_DIR/../logs/ -mtime +5 -name "*" -exec rm -rf {} \;
find $ANN_LOCAL_DIR/ -mtime +5 -name "*" -exec rm -rf {} \;