date命令
date命令以给定的格式显示当前时间,或是设置系统日期。
用法:
date [OPTION]... [+FORMAT]
选项:
- -s, –set=STRING 用指定的字符串来设置时间
- -d, –date=STRING 显示指定字符串所描述的时间而非当前时间
格式:
以给定的格式FORMAT控制着输出。
- %F 完整日期格式,等价于%Y-%m-%d
- %T 时间,等价于%H:%M:%S
- %Y 年份 2016
- %y 年份最后两位数字 16
- %m 月份(01-12)
- %d 日
- %H 小时(00-23)
- %n 换行
- %w 星期中的第几日(0-6)
实例
问题:请给出如下格式的date命令。例:16-09-07。再给出实现按周输出。比如:周三为3。请分别给出命令。
[root@ianLinux ~]# date +%y-%m-%d
16-09-07
注意一下这里中间的空格需要转义。
实现按周输出:
[root@ianLinux ~]# date +%w
date用于显示过去未来的时间:
生产环境中:以时间做为打包后的文件名,实现按天打包。
这样做,可以使同样的命令,打包后生产不同的包名。
[root@ianLinux ~]# tar zcvf data_$(date +%F).tar.gz /root/data/
案例:
如果需求是保留最近7天的访问日志时。两种做法。
①
[root@ianLinux iantest]# find ./ -type f -name "*.log" -mtime +7|xargs rm -f
这种做法之前已经讨论过了。
②按周轮询。
使用周轮询的好处就是最多7份日志,不需要删除,系统会自动循环覆盖。
%w的应用。
CustomLog "|/usr/local/sbin/cronolog /app/logs/access_www.%w.log" combined