Answers:
为什么不只是
0 * * * * (/bin/date && /home/backup.sh) >> /var/log/backup.log 2>&1
如何在文件中获取时间戳
要在文件中添加时间戳,可以使用date
查看man date
更多详细信息。例如,如果您在终端中使用,您将获得如下输出:
$ date +%d-%m-%y/%H:%M:%S
19-12-13/09:14:42
输出格式为 dd-mm-yy/hour:min:sec
如果您希望将时间戳记放入文件中,请使用
date +%d-%m-%y/%H:%M:%S > filename
重新导向
如果使用,date +%d-%m-%y/%H:%M:%S > filename
则日期将存储在文件中,但是每次使用该命令时,它将被覆盖。要将其附加到现有文件中,
date +%d-%m-%y/%H:%M:%S >> filename
它将最后一个执行输出添加到现有文件的末尾。
您的情况如何
您可以在您的末尾添加以下行/home/backup.sh
,
date +%d-%m-%y/%H:%M:%S
并在crontab中使用以下命令,
0 0 * * * /home/backup.sh >> /home/groupz/db-backup/fbackup.log 2>&1
我认为上面的修改应该做您想要的。
(在Debian Jessie上)使用软件包中包含的ts
命令moreutils
。例如:
0 0 * * * /home/backup.sh | ts '[%Y-%m-%d %H:%M:%S]' > /home/groupz/db-backup/fbackup.log 2>&1
这会将时间戳记附加到输出的每一行,并将其保存到日志中。
moreutils
由于您正在运行Shell脚本,因此为什么不添加以下行,
some ./script
echo `date -u `
some ./other/script
在您的脚本中,即/home/backup.sh
然后
0 0 * * * /home/backup.sh >> /home/groupz/db-backup/fbackup.log 2>&1
将在fbackup.log之前/之后添加一行,例如UTC 2018 Thu Jun 14 11:10:22
echo `date -u`
一样data -u
吗?
您可以使用其中两个“>”将某些内容附加到文件中。
$ echo "test" >> test.txt
$ echo "test" >> test.txt
$ cat test.txt
test
test
+%d-%m-%y/%H:%M:%S
将成为:+\%d-\%m-\%y/\%H:\%M:\%S