Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##
- #--------------------------------------------------------------------------
- # Tasks per la gestione di Magento
- #--------------------------------------------------------------------------
- #
- # Questo file serve per eseguire alcuni comandi solitamente utilizzati per
- # gestire un ambiente di sviluppo locale di un sito con piattaforma Magento
- #
- #
- @setup
- include_once('./config.php')
- @endsetup
- @servers(['localhost' => '127.0.0.1'])
- ##
- # Help
- #
- @task('help', ['on' => ['localhost']])
- echo "Comandi disponibili: "
- echo "test"
- echo "db-backup"
- echo "db-restore --sqlfile=nome-file.sql"
- echo "db-flush"
- echo "fix-perms --dir=directory"
- echo "clean --dir=directory"
- @endtask
- ##
- # Test
- #
- @task('test', ['on' => ['localhost']])
- echo "Database: {{ $DEFAULT_DB }}"
- echo "Username: {{ $DEFAULT_USERNAME }}"
- echo "Password: *****"
- echo "Url: {{ $DEFAULT_URL }}"
- echo "Host: {{ $DEFAULT_HOST }}"
- echo "Remote host: {{ $DEFAULT_HOST }}"
- echo "Remote username: {{ $REMOTE_USERNAME }}"
- echo "Remote password: *****"
- echo "Date: {{ $DATE }}"
- @endtask
- ##
- # Database Backup
- #
- @task('db-backup', ['on' => ['localhost']])
- echo "Eseguo il backup del database ... "
- mysqldump -u {{ $DEFAULT_USERNAME }} -p{{ $DEFAULT_PASSWD }} {{ $DEFAULT_DB }} > {{ $DEFAULT_DB }}-{{ $DATE }}-backup.sql
- echo "Done!";
- @endtask
- ##
- # Database Restore
- #
- @task('db-restore', ['on' => ['localhost']])
- @if (isset($sqlfile))
- echo "Uso il file locale {{ $sqlfile }} ..."
- echo "Eseguo il restore del database ..."
- mysql -h {{ $DEFAULT_HOST }} -u {{ $DEFAULT_USERNAME }} --password={{ $DEFAULT_PASSWD }} {{ $DEFAULT_DB }} < {{ $sqlfile }}
- @else
- echo "Non ho trovato il filem, aggiorno il database usando la copia remota ..."
- echo {{ $REMOTE_PASSWD }}
- echo "Scarico il database ..."
- scp {{ $REMOTE_CONNECTION }}:mysql-backup-last.sql.gz .
- gunzip -c mysql-backup-last.sql.gz > last-backup.sql
- echo "Eseguo il restore del database ..."
- mysql -h {{ $DEFAULT_HOST }} -u {{ $DEFAULT_USERNAME }} --password={{ $DEFAULT_PASSWD }} {{ $DEFAULT_DB }} < last-backup.sql
- rm last-backup.sql
- @endif
- echo "Aggiorno il dB per l'ambiente locale ..."
- # Reimposto gli URL
- mysql -h {{ $DEFAULT_HOST }} -u {{ $DEFAULT_USERNAME }} --password={{ $DEFAULT_PASSWD }} -D {{ $DEFAULT_DB }} -e "UPDATE core_config_data SET value='{{ $DEFAULT_URL }}' WHERE path='web/unsecure/base_url'"
- mysql -h {{ $DEFAULT_HOST }} -u {{ $DEFAULT_USERNAME }} --password={{ $DEFAULT_PASSWD }} -D {{ $DEFAULT_DB }} -e "UPDATE core_config_data SET value='{{ $DEFAULT_URL }}' WHERE path='web/secure/base_url'"
- # Tolgo la compressione css e js
- mysql -h {{ $DEFAULT_HOST }} -u {{ $DEFAULT_USERNAME }} --password={{ $DEFAULT_PASSWD }} -D {{ $DEFAULT_DB }} -e "UPDATE core_config_data SET value=0 WHERE path LIKE '%merge%'"
- # Questo blocco toglie il CDN, se non è in uso un CDN non succede nulla perchè va a reimpostare i valori di default
- mysql -h {{ $DEFAULT_HOST }} -u {{ $DEFAULT_USERNAME }} --password={{ $DEFAULT_PASSWD }} -D {{ $DEFAULT_DB }} -e "UPDATE core_config_data SET value='\{\{unsecure_base_url\}\}skin/' WHERE path='web/unsecure/base_skin_url'"
- mysql -h {{ $DEFAULT_HOST }} -u {{ $DEFAULT_USERNAME }} --password={{ $DEFAULT_PASSWD }} -D {{ $DEFAULT_DB }} -e "UPDATE core_config_data SET value='\{\{unsecure_base_url\}\}media/' WHERE path='web/unsecure/base_media_url'"
- mysql -h {{ $DEFAULT_HOST }} -u {{ $DEFAULT_USERNAME }} --password={{ $DEFAULT_PASSWD }} -D {{ $DEFAULT_DB }} -e "UPDATE core_config_data SET value='\{\{unsecure_base_url\}\}js/' WHERE path='web/unsecure/base_js_url'"
- echo "Done!"
- @endtask
- ##
- # Database Reset
- #
- @task('db-flush', ['on' => ['localhost']])
- echo "Elimino tutte le tabelle dal database ..."
- # Detect paths
- MYSQL=$(which mysql)
- AWK=$(which awk)
- GREP=$(which grep)
- TABLES=$($MYSQL -u {{ $DEFAULT_USERNAME }} -p{{ $DEFAULT_PASSWD }} {{ $DEFAULT_DB }} -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' )
- for i in `seq 1 6`
- do
- for t in $TABLES
- do
- $MYSQL -u {{ $DEFAULT_USERNAME }} -p{{ $DEFAULT_PASSWD }} {{ $DEFAULT_DB }} -e "drop table $t" 2> /dev/null
- done
- done
- echo "Done!"
- @endtask
- ##
- # Fix permesi
- #
- @task('fix-perms', ['on' => ['localhost']])
- @if (!isset($dir))
- echo "Usage: envoy run fix-perms --dir=directory"
- exit 1
- @else
- echo "Reimposto i permessi ..."
- sudo chown -R giacomo {{ $dir }}
- find {{ $dir }} -type d -exec chmod 775 {} \;
- find {{ $dir }} -type f -exec chmod 644 {} \;
- echo "Done!"
- @endif
- @endtask
- ##
- # Clean
- #
- @task('clean', ['on' => ['localhost']])
- @if (!isset($dir))
- echo "Usage: envoy run clean --dir=directory"
- exit 1
- @else
- echo "Faccio pulizia ..."
- rm -rf {{ $dir }}/var/cache/*
- rm -rf {{ $dir }}/var/session/*
- sudo rm -rf /var/tmp/magento/*
- echo "Done!"
- @endif
- @endtask
- ##
- # Connect
- #
- @task('connect', ['on' => ['localhost']])
- #./ssh_connect.sh
- @endtask
Add Comment
Please, Sign In to add comment