Linux重定向輸出到以當前時間命名的文件 / date命令格式化輸出



1. 利用date命令重定向到以當前時間命名的文件

例如:

ls -l > mylog_$(date +"%Y-%m-%d_%H-%M-%S").log

或:

ls -l > mylog_`date +"%Y-%m-%d_%H-%M-%S"`.log

2. 配合Crontab實現定時日志

例如:每5分鍾記錄/tmp目錄下的文件

*/5 * * * * ls -l /tmp > /data/cronlog_$(date +"\%Y-\%m-\%d_\%H-\%M-\%S").log

或:

*/5 * * * * ls -l /tmp > /data/cronlog_`date +"\%Y-\%m-\%d_\%H-\%M-\%S"`.log

可以注意到此時百分號% 前面都加了反斜杠\。原因是在crontab中的命令遇到百分號% 會換行,因此需要加入反斜杠\ 進行轉義。
Linux原文解釋:Percent-signs (%) in the command, unless escaped with backslash (), will be changed into newline characters, and all data after the first % will be sent to the command as standard input.

3. date命令格式

  1. date [+格式],如:
date +%Y-%m-%d
  1. 如果有空格,需要用雙引號括起來。(建議無論有無空格,格式化輸出時都用雙引號括起來)
date +"%Y-%m-%d %H:%M:%S"
  1. 常用格式釋義:
%Y 年
%y 年(年份最后兩位)
%m 月
%d 日
%H 時(24小時制)
%I 時(12小時制)
%M 分
%S 秒
%Z 時區
%D 日期,等於%m/%d/%y
%T 時間,等於%H:%M:%S
%x locale日期描述,例如12/31/99(類似於 %D或 %m/%d/%y)
%X locale時間描述,例如23:13:48(類似於 %T或 %H:%M:%S)

更多詳細格式可參考此處




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM