2014-05-14 2 views
12

Sto tentando di scrivere uno script bash che esegue un mysqldump nel database del mio sito live, quindi aggiunge e impegna il dump in un repository git. Ecco quello che ho finora (memorizzate in un file .sh che viene chiamato da una voce di crontab):

/usr/bin/mysqldump --skip-comments --skip-dump-date -u [user] -p[pass] database | gzip > /var/www/site/backup/database.sql.gz 
cd var/www/site/backup && git add * 
cd var/www/site/backup && git commit -m 'Database $(date +%a %H:%M %h %d %Y)' 

Il mio ingresso crontab assomiglia a questo:

0,20,40 8-22 * * * /var/www/site/backup/script.sh 

posso vedere che questo script esegue il dump del database, ma non aggiunge o non esegue il commit del file su git. C'è qualcosa che mi manca?

Modifica =================================

ho fatto le seguenti modifiche e il commit funziona:

cd /var/www/site/backup && /usr/bin/git add * 
cd /var/www/site/backup && /usr/bin/git commit -m 'Database $(date +%a %H:%M %h %d %Y)' 

Tuttavia, la data non viene calcolata.

Modifica =================================

ultime revisioni, tra cui (la maggior parte) le raccomandazioni

/usr/bin/mysqldump --skip-comments --skip-dump-date -u [user] -p[pass] database > /var/www/site/backup/database.sql 
cd var/www/site/backup 
/usr/bin/git add * 
/usr/bin/git commit -m "Internal Forms Live Database Dump Stored $(date '+%a %H:%M %h %d %Y')" 
+0

hai già controllato lo stato del tuo repository git con 'git status'? – florianb

+0

Sì, è così che sapevo che i commit non stavano accadendo – Hoytman

+2

Comprimere il dump prima di aggiungerlo rende impossibile per git archiviare solo dati differenziali, git si occuperà di comprimere i dati laddove possibile da solo. O lascialo non compresso o usa invece git-annex. –

risposta