Obtém a data e a hora atuais para enviar a mensagem para git [duplicate]

2

Estou escrevendo um script de shell para enviar automaticamente os backups para o git usando o crontab. Como posso obter a data e a hora atuais na mensagem de confirmação? Este é o meu script:

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
    
por RUC... 03.01.2018 / 05:28

1 resposta

2

Você pode usar Substituição de Comando para obter a data e a hora atuais em que seu script é executado:

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

Como alternativa, você pode salvar a saída de date em uma variável, por exemplo, Se você quiser capturar a hora em que o script foi iniciado em, adicione como o primeiro comando, por exemplo,

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

e usá-lo mais tarde, como:

git commit -m "$timestamp: Backup"

Se este for realmente todo o seu script, lembre-se de adicionar uma Shebang como a primeira linha. Eu sempre tento evitar cd em scripts e, em vez disso, dar caminhos completos, por último, mas não menos importante, ajuda a manter o código limpo e facilmente compreensível se você armazenar caminhos longos em variáveis:

#!/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

Note que você não pode usar ~ em um caminho quando você faz assim porque variáveis são expandidas após o til, você pode usar $HOME embora.

    
por dessert 03.01.2018 / 09:00