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

Этот вопрос уже имеет ответ здесь: mkdir с именем даты? [duplicate] 4 ответа

Я пишу сценарий оболочки для автоматического нажатия резервных копий в 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 в 11:27

3 ответа

Вы можете использовать Command Substitution, чтобы получить текущую дату и время запуска вашего скрипта:

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

В качестве альтернативы вы можете сохранить вывод date в переменной, например. если вы хотите записать время запуска скрипта, добавьте в качестве первой команды, например

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

, и используйте ее позже, как:

git commit -m "$timestamp: Backup"

Если это действительно ваш весь сценарий, не забудьте добавить Command Substitution в качестве первой строки. Я всегда стараюсь избегать 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
ответ дан 22 May 2018 в 15:47

Вы можете использовать Command Substitution, чтобы получить текущую дату и время запуска вашего скрипта:

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

В качестве альтернативы вы можете сохранить вывод date в переменной, например. если вы хотите записать время запуска скрипта, добавьте в качестве первой команды, например

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

, и используйте ее позже, как:

git commit -m "$timestamp: Backup"

Если это действительно ваш весь сценарий, не забудьте добавить Command Substitution в качестве первой строки. Я всегда стараюсь избегать 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
ответ дан 17 July 2018 в 23:59

Вы можете использовать Command Substitution, чтобы получить текущую дату и время запуска вашего скрипта:

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

В качестве альтернативы вы можете сохранить вывод date в переменной, например. если вы хотите записать время запуска скрипта, добавьте в качестве первой команды, например

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

, и используйте ее позже, как:

git commit -m "$timestamp: Backup"

Если это действительно ваш весь сценарий, не забудьте добавить Command Substitution в качестве первой строки. Я всегда стараюсь избегать 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
ответ дан 24 July 2018 в 17:08

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

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