如何将日志添加到带有时间戳的 crontab

use*_*356 10 bash scripts cron logs

在 crontab 中,我安排了每日备份脚本。现在,当 cron 执行脚本时,状态会记录到日志文件中,如下所示。

0 0 * * * /home/backup.sh > /home/groupz/db-backup/fbackup.log 2>&1  
Run Code Online (Sandbox Code Playgroud)

现在,当 cron 执行脚本时,日志的内容每次都会更新。所以,我希望将内容添加到同一个文件中,并带有执行时间的时间戳以及每次的内容以及现有内容。我怎样才能做到这一点。

小智 8

为什么不只是

0 * * * * (/bin/date && /home/backup.sh) >> /var/log/backup.log 2>&1


sou*_* c. 5

如何在文件中获取时间戳

要在文件中添加时间戳,您可以使用date查看man date更多详细信息。例如,如果您在终端中使用,您将有类似的输出,

$ date +%d-%m-%y/%H:%M:%S
19-12-13/09:14:42
Run Code Online (Sandbox Code Playgroud)

输出格式为 dd-mm-yy/hour:min:sec

如果要将时间戳记放在文件中,请使用

date +%d-%m-%y/%H:%M:%S > filename
Run Code Online (Sandbox Code Playgroud)

重定向

如果您使用,date +%d-%m-%y/%H:%M:%S > filename则日期将存储到文件中,但每次使用该命令时它都会被覆盖。要将其附加到现有文件中,请使用,

date +%d-%m-%y/%H:%M:%S >> filename
Run Code Online (Sandbox Code Playgroud)

它将在现有文件的末尾添加最后一个执行输出。

你在你的情况下做什么

您可以在末尾添加以下行/home/backup.sh

date +%d-%m-%y/%H:%M:%S
Run Code Online (Sandbox Code Playgroud)

并在 crontab 中使用以下内容,

0 0 * * * /home/backup.sh >> /home/groupz/db-backup/fbackup.log 2>&1
Run Code Online (Sandbox Code Playgroud)

我认为上述修改应该做你想做的。


Ora*_*Tux -2

您可以使用其中两个“>”将某些内容附加到文件中。

$ echo "test" >> test.txt
$ echo "test" >> test.txt

$ cat test.txt
test
test
Run Code Online (Sandbox Code Playgroud)

  • 时间戳呢 (2认同)