将 Bash 脚本的执行日期和时间插入到文件中

将 Bash 脚本的执行日期和时间插入到文件中

我需要弄清楚如何自动将某个 bash 脚本文件的执行日期和时间插入到 txt 文件中。假设我有一个名为 backup.sh 的 bash 脚本,每次执行 backup.sh 时,它都会自动创建一个名为 Execution.txt 的 txt 文件,并且在该 txt 文件中,backup.sh 的执行日期和时间会写入其中。有人有办法做到这一点吗?我在 Google 上搜索了一些答案,但一无所获。任何帮助都将不胜感激!提前致谢。

答案1

只需将其放入您的backup.sh文件中:

date > Execution.txt

这会创造当前工作目录中的文件Execution.txt。该文件将包含当前日期和时间(如果已存在,则会被覆盖)。当然,您可以指定文件的绝对路径:

date > /absolute/path/to/Execution.txt

附加到文件(而不是覆盖它),使用>>而不是>,即,

date >> Execution.txt

答案2

如果您想要在脚本中记录某个事件的日期,则可能需要保留运行日志。该date命令可以作为简单的事件记录器投入使用:

date +'%c|Backup started' >> backup.log

+选项允许您以任意方式格式化日期。日期格式化的详细信息在man date上述命令将会在日志中附加一行,内容如下:

Tue Mar 25 14:49:28 2014|Backup started

如果添加不同的事件,管道分隔符会使解析日志变得更容易一些:

date +"%c|Backup completed: $?" >> backup.log

$?是最后执行的命令的返回状态,但您可以使用任何可能有助于稍后调试的变量。(注意:如果要插入变量,则需要使用双引号。)查看日志,您将能够发现可能的故障:

Tue Mar 25 14:49:28 2014|Backup started
Tue Mar 25 14:49:52 2014|Backup completed: 1

答案3

您必须在backup.sh脚本中添加以下行:

date >> /path/to/Execution.txt

解释:

  • date- 打印系统日期和时间
  • >> /path/to/Execution.txt重定向输出并将其附加到/path/toExecution.txt文件。

相关内容