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 执行脚本时,日志的内容每次都会更新。所以,我希望将内容添加到同一个文件中,并带有执行时间的时间戳以及每次的内容以及现有内容。我怎样才能做到这一点。
如何在文件中获取时间戳
要在文件中添加时间戳,您可以使用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)