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

时间:2013-08-21 08:49:58

标签: bash shell tee

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

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

sh sample.sh | tee logfile_$date.txt #sample command

输出日志文件:

logfile_2013-08-22-14.txt  #yyyy-mm-dd-hh format

我怎样才能实现它?

1 个答案:

答案 0 :(得分:8)

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

sh sample.sh | tee logfile_$(date '+%Y-%m-%d-%H').txt

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

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

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