linux date 命令及案例

15 篇文章 0 订阅

在 Linux shell 中,date 是高频命令。经常使用date 命令按时间来创建文件。

1. date 命令详解

 date命令是显示或设置系统时间与日期。

语法

 

常用选项

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
 

案例:

[zhang@localhost ~]$ echo 查看当前日期
查看当前日期
[zhang@localhost ~]$ date
Sat Mar  9 10:08:12 CST 2019
[zhang@localhost ~]$ echo 查看一天前的时间
查看一天前的时间
[zhang@localhost ~]$ date -d "-1 day"
Fri Mar  8 10:09:21 CST 2019
[zhang@localhost ~]$ echo 查看一年后的时间
查看一年后的时间
[zhang@localhost ~]$ date -d "+1 year"
Mon Mar  9 10:09:42 CST 2020

注:类似的参数还有很多,比如month (月份),hour( 小时 ) ,min( 分钟 ),sec( 秒 ) 等。

设置时间

[zhang@localhost ~]$ date 
Sat Mar  9 10:16:14 CST 2019
[zhang@localhost ~]$ date -s "10:18:20 2019-03-09"
date: cannot set date: Operation not permitted
Sat Mar  9 10:18:20 CST 2019
[zhang@localhost ~]$ su root 
Password: 
[root@localhost zhang]# date -s "10:18:20 2019-03-09"
Sat Mar  9 10:18:20 CST 2019
[root@localhost zhang]# date 
Sat Mar  9 10:18:21 CST 2019

注:设置时间,需要超级管理员权限。设置时间格式的很灵活,也可以只设置时间或日期。

 

时间格式字符串列表

 

格式说明
%H 小时,24小时制(00~23)
%I小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r  显示时间,12小时制(hh:mm:ss %p)
%s从1970年1月1日00:00:00到目前经历的秒数
%S显示秒(00~59)
%T显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a星期的简称(Sun~Sat)
%A星期的全称(Sunday~Saturday)
%h,%b月的简称(Jan~Dec)
%B 月的全称(January~December)
%c日期和时间(Tue Nov 20 14:12:58 2012)
%d 一个月的第几天(01~31)
%x,%D日期(mm/dd/yy)
%j一年的第几天(001~366)
%m月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)

案例:

[root@localhost zhang]# date 
Sat Mar  9 10:38:38 CST 2019
[root@localhost zhang]# date +"%Y%m%d %H:%M:%S"
20190309 10:39:02
[root@localhost zhang]# date +%Y%m%d 
20190309

 

2. date 案例

    这里简单写一个mysql 数据库备份shell 脚本 mysql_backup.sh 

#!/bin/bash
###########################################################################
#Author:guoping 
#Date:2019/03/09 10:44
#Function:数据库备份
###########################################################################
mysql_host=localhost
mysql_user=root
mysql_password=referee
mysql_database=mysql
back_path=/data/mysql_backup
back_file_name="$mysql_database-`date +%Y%m%d`"


if [ -d "$back_path" ]  ;then

        mysqldump -h$mysql_host -u$mysql_user $mysql_database -p$mysql_password> "$back_path/$back_file_
name".sql 2>/dev/nullelse
        echo "要备份的目录不存在"
         exit -1
fi
        cd $back_path
        tar -czf "$back_file_name".tar.gz "$back_file_name".sql

注:这里只是个简单的数据库备份脚本,首先得保证/data/mysql_backup 这个目录存在,且可读写。适当修改下mysql账号密码即可使用。

 执行以下命令:

bash mysql_backup.sh 

 

 也可以将此脚本加入到定时任务中,每天定时执行一次,这里不再赘述!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值