获取当前日期和时间以将消息提交给 git

获取当前日期和时间以将消息提交给 git

我正在编写一个 shell 脚本,使用 crontab 自动将备份推送到 git。如何将当前日期和时间放入提交消息中。这是我的脚本:

cd /var/www/html/myweb
php bin/magento setup:backup --code --media --db
cp /var/www/html/myweb/var/backups/* /home/myweb/backups/myweb/backups/
cd /home/myweb/backups/myweb
git add .
git commit -m  "date +"%D %T""
git push

答案1

您可以使用命令替换获取脚本运行的当前日期和时间:

git commit -m "$(date +"%D %T")"

或者,你可以将date的输出保存在变量中,例如,如果你想捕获脚本运行的时间开始在,添加作为第一个命令例如

timestamp=$(date +"%D %T")

并在稍后使用它,例如:

git commit -m "$timestamp: Backup"

如果这确实是你的整个脚本,请记住添加一个舍邦作为第一行。我总是尽量cd在脚本中避免这种情况,而是给出完整路径,最后但并非最不重要的是,如果将长路径存储在变量中,它有助于保持代码干净且易于理解:

#!/bin/bash
path1=/var/www/html/myweb
path2=/home/myweb/backups/myweb

php "$path1/bin/magento" setup:backup --code --media --db
cp "$path1/var/backups/*" "$path2/backups/"
git add "$path2"
git commit -m "$(date +"%D %T")"
git push

~请注意,这样做时不能在路径中使用,因为变量会被扩展波浪符号,您可以使用$HOME

相关内容