1.linux获取日期
linux中通过date命令获取昨天或明天时间的方法.
date命令可以获取当前的时间,通过man,可以看到date有很多参数可以用,很容易做到格式化
1 | date +"%F" |
这都是打印出系统的当前时间,如果要获取相对当前时间的某个时间,需要怎么做,通过 -d 参数就能实现。例如:
1 | date -d"tomorrow" +"%F %H:%M:%S" |
如果说我想获取13天前的时间怎么办,-d参数还有更加灵活的用法,例如:
1 | date -d"-1 day ago" +"%F %H:%M:%S" |
可以看到ago的强大了吧,第一个数字可以是负数,负数表示将来时间,正数表示前面已经过去的时间,第二个参数minute、hour、day、month、week。
2.使用实例
定时删除三天前类似”2021_10_18_09”文件
编写shell脚本”clean_tcpdump.sh”
1
2
3
4
5
6
7
8
9
10
11
12
13#!/bin/bash
dumpfile3=`date -d"3 day ago" '+%Y_%m_%d'`*
echo $dumpfile3
dumpfile3del="$dumpfile3*"
rm -rf $dumpfile3del
dumpfile4=`date -d"4 day ago" '+%Y_%m_%d'`*
echo $dumpfile4
dumpfile4del="$dumpfile4*"
rm -rf $dumpfile4del
dumpfile5=`date -d"5 day ago" '+%Y_%m_%d'`*
echo $dumpfile5
dumpfile5del="$dumpfile5*"
rm -rf $dumpfile5del暴力一点部署特别优雅,其实可以用循环