Получить текущую дату и время для передачи сообщения в git [duplicate]

На этот вопрос уже есть ответ здесь:

Я пишу сценарий оболочки для автоматической загрузки резервных копий в git с помощью crontab. Как я могу получить текущую дату и время в сообщении фиксации. Это мой сценарий:

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
2
задан 3 January 2018 в 10:27

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.

2
ответ дан 3 January 2018 в 10:27

Другие вопросы по тегам:

Похожие вопросы: