使用tee命令创建特定于时间的日志文件

Shi*_*wal 2 bash shell tee

我正在使用'tee'命令将我的shell程序的日志重定向到一个文件中.

我的要求是使用文件名附加当前日期和时间.

sh sample.sh | tee logfile_$date.txt #sample command
Run Code Online (Sandbox Code Playgroud)

输出日志文件:

logfile_2013-08-22-14.txt  #yyyy-mm-dd-hh format
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现它?

fed*_*qui 9

由于date '+%Y-%m-%d-%H'返回类型的日期2013-08-21-10(年 - 月 - 日 - 小时),您可以使用以下内容:

sh sample.sh | tee logfile_$(date '+%Y-%m-%d-%H').txt
Run Code Online (Sandbox Code Playgroud)

例如,让我们打印hello并将其存储在一个文件中:

$ echo "hello" | tee logfile_$(date '+%Y-%m-%d-%H').txt
hello
$ ls logfile_*
logfile_2013-08-21-10.txt
Run Code Online (Sandbox Code Playgroud)

如您所见,logfile_2013-08-21-10.txt在屏幕中出现字符串的同时创建了具有名称的文件.

  • 谢谢我找了一个月。:) (2认同)