首页 > 系统相关 >Shell内置变量 - date

Shell内置变量 - date

时间:2023-11-06 19:47:27浏览次数:34  
标签:-% 内置 +% node1 Shell 2021 date root

  date是Shell中内置变量,用于获取日期时间。可通过以下命令,查看该内置变量的使用。

date --help

1、date的用法

  date的用法:

date [OPTION]... [+FORMAT]

  这里介绍下常用的 OPTION 选项 和 +FORMAT 格式。

1.1、OPTION 选项

-d --date=STRING 以字符串展示时间,需要设置展示的时间
-f --file=DATEFILE 以文件行的方式展示时间,文件行不为空,则显示时间

演示详情如下:

[root@node1 ~]# echo $(date -f /root/text.log +%F)
2021-11-06 2021-11-06 2021-11-06 2021-11-06 2021-11-06
[root@node1 ~]# cat text.log 
12
2
3
4
5
[root@node1 ~]# echo $(date -d now +%F)
2021-11-06

  -f,后需要跟文件,日期的展示次数与文件中的行数有关;

  -d,后需要跟时间。

1.2、FORMAT详情

格式 含义
%Y 年份 2001 ~ 2020
%m 月份 01 ~ 12
%d 日期 01 ~ 31
%H 小时 00 ~ 23
%M 分钟 00 ~ 59
%S 秒数 00 ~ 59
%F full date 等价于 %Y-%m-%d YYYY-mm-dd日期 2020-11-06
%T HH-MM-SS时间 %H:%M:%S

FORMAT 演示详情如下:

[root@node1 ~]# echo $(date +%Y)
2021
[root@node1 ~]# echo $(date +%m)
11
[root@node1 ~]# echo $(date +%d)
06
[root@node1 ~]# echo $(date +%H)
08
[root@node1 ~]# echo $(date +%m)
11
[root@node1 ~]# echo $(date +%M)
02
[root@node1 ~]# echo $(date +%S)
02
[root@node1 ~]# echo $(date +%F)
2021-11-06
[root@node1 ~]# echo $(date +%T)
08:03:17

2、命令演示详情

2.1、获取今天日期

[root@node1 ~]# date -d now +%Y-%m-%d
2021-11-06
[root@node1 ~]# date +%F
2021-11-06

2.2、获取明天日期

[root@node1 ~]#  date -d next-day +%Y-%m-%d
2021-11-07
[root@node1 ~]#  date -d tomorrow +%Y-%m-%d
2021-11-07

2.3、获取昨天日期

[root@node1 ~]# date -d yesterday +%Y-%m-%d
2021-11-05
[root@node1 ~]# date -d last-day +%Y-%m-%d
2021-11-05

2.4、获取n天前、n天后的日期

# n days ago 表示 n 天前的一天
# 1天前,昨天
[root@node1 ~]# date -d "1 days ago" +%Y-%m-%d
2021-11-05
# 15天前的日期
[root@node1 ~]#  date -d "15 days ago" +%Y-%m-%d
2021-10-22
# n 为负数,表示 n 天后的一天
# 15天后的日期
[root@node1 ~]#  date -d "-15 days ago" +%Y-%m-%d
2021-11-21

2.5、获取下个月、上个月的今天日期

[root@node1 ~]#  date -d next-month +%F
2021-12-06
[root@node1 ~]# date -d last-month +%F
2021-10-06

3、应用

  需求:备份昨日的日志文件。

3.1、新建备份脚本

#!/bin/sh
dates=$(date -d yesterday +%Y%m%d)
echo "back date: $dates"
tar -Pzcf /root/backup/$dates.tar.gz /usr/bigdata/logs/$dates/*

3.2、配置 crontab 文件

  定时执行备份日志文件的脚本,这里为了方便展示效果,设置每2分钟执行一次。
crontab -e
# 定时执行备份脚本
*/2 * * * * /root/backup_logs.sh

3.3、查看备份目录文件

0  

标签:-%,内置,+%,node1,Shell,2021,date,root
From: https://www.cnblogs.com/RunningSnails/p/17813525.html

相关文章

  • mysql 使用ON DUPLICATE KEY update实现插入或更新操作
    创建一个表CREATETABLE`userinfo`(`UserID`int(11)NOTNULL,`UserName`varchar(45)CHARACTERSETutf8COLLATEutf8_general_ciDEFAULTNULL,PRIMARYKEY(`UserID`))ENGINE=InnoDBDEFAULTCHARSET=utf8;想要实现,没有数据插入新数据,有数据更新数据首先......
  • 记一次对某变异webshell的分析
    0x01前言在某活动中捕获到一个变异的webshell(jsp文件格式),如图1.1所示。样本webshell的大致功能是通过加载字节码来执行恶意代码,整个webshell的核心部分逻辑是在字节码中。样本文件下载链接:https://github.com/webraybtl/webshell1图1.1变异webshell样本直接通过冰蝎、哥斯拉、天......
  • linux shell 函数,实现自动补全
    实例1:function_bigtool(){COMPREPLY=()localcur=${COMP_WORDS[COMP_CWORD]};localcom=${COMP_WORDS[COMP_CWORD-1]};case$comin'vs')COMPREPLY=($(compgen-W'checkoutdisplayremoveadd'--$cur))......
  • shell脚本常用命令
    #!/bin/bashecho$1adbdevices>devices.txtecho"开始读取设备"line_num=0whileread-rlinedoif[$line_num!=0]&&[-n"$line"];thendevices_info=`echo$line|cut-d""-f1`echo$d......
  • shell中特殊语法
    #脚本只要发生错误,就终止执行set-e#解决管道的情况,只要一个子命令失败,整个管道命令就失败,脚本会终止执行set-eopipefail#每行行首增加特殊字符sed-i"s#^#\\\'&#g"test.txt#每行行尾增加特殊字符sed-i"s#$#\\\'#g"test.txt#文本中多行合并到一行并以,间隔paste-s......
  • Java eclipse中shell窗口怎么居中显示
    protectedvoidcreateContents(){shell=newShell();shell.setSize(800,600);shell.setText(title);intwidth=shell.getDisplay().getBounds().width;//找到createContents这个方法,得到屏幕的宽度。intheight=shell.getDi......
  • 模拟攻击beescms框架网站,并且一步一步渗透测试,上传shell,连接蚁剑,拿到对方网站根目录
    打开网站发现它是beescms框架搭建的网站,一言不合直接用webpathbrute扫描发现了管理员登录页面尝试任意用户名密码登录发现不太行,直接暴力破解,先burp抓数据包发现有4个参数有user,password,code,submit,把submit=ture修改为submit=false验证码就不会刷新了就是284c。接下来......
  • 什么是shell脚本
    什么是shell脚本?当命令或者程序语句写在文件中,我们执行文件,读取其中的代码,这个程序文件就称之为shell脚本。在shell脚本里定义多条Linux命令以及循环控制语句,然后将这些Linux命令一次性执行完毕,执行脚本文件的方式称之为,非交互式方式。Windows中存在*.bat/批处理脚本Linux中......
  • 执行shell脚本的方式
    执行shell脚本的方式bashscript.sh或shscripte.sh,文件本身没权限执行,没x权限,则使用的方法,或脚本未指定shebang,重点推荐的方式使用绝对/相对路径执行脚本,需要文件含有x权限sourcescript.sh或者.script.sh,代表执行的含义,source等于点.少见的用法,sh<......
  • Shell内置命令、外置命令
    Shell内置命令、外置命令什么是内置命令,什么是外置命令?内置命令:在系统启动时就加载入内存,常驻内存,执行效率更高,但是占用资源外置命令:系统需要从硬盘中读取程序文件,再读入内存加载外置命令也称之为,自己单独下载的文件系统命令,处于bashshell之外的程序#一般目录会存放在以......