Guest User

Untitled

a guest
Dec 18th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.95 KB | None | 0 0
  1. ##
  2. #--------------------------------------------------------------------------
  3. # Tasks per la gestione di Magento
  4. #--------------------------------------------------------------------------
  5. #
  6. # Questo file serve per eseguire alcuni comandi solitamente utilizzati per
  7. # gestire un ambiente di sviluppo locale di un sito con piattaforma Magento
  8. #
  9. #
  10.  
  11. @setup
  12. include_once('./config.php')
  13. @endsetup
  14.  
  15. @servers(['localhost' => '127.0.0.1'])
  16.  
  17. ##
  18. # Help
  19. #
  20. @task('help', ['on' => ['localhost']])
  21. echo "Comandi disponibili: "
  22. echo "test"
  23. echo "db-backup"
  24. echo "db-restore --sqlfile=nome-file.sql"
  25. echo "db-flush"
  26. echo "fix-perms --dir=directory"
  27. echo "clean --dir=directory"
  28. @endtask
  29.  
  30. ##
  31. # Test
  32. #
  33. @task('test', ['on' => ['localhost']])
  34. echo "Database: {{ $DEFAULT_DB }}"
  35. echo "Username: {{ $DEFAULT_USERNAME }}"
  36. echo "Password: *****"
  37. echo "Url: {{ $DEFAULT_URL }}"
  38. echo "Host: {{ $DEFAULT_HOST }}"
  39. echo "Remote host: {{ $DEFAULT_HOST }}"
  40. echo "Remote username: {{ $REMOTE_USERNAME }}"
  41. echo "Remote password: *****"
  42. echo "Date: {{ $DATE }}"
  43. @endtask
  44.  
  45. ##
  46. # Database Backup
  47. #
  48. @task('db-backup', ['on' => ['localhost']])
  49. echo "Eseguo il backup del database ... "
  50. mysqldump -u {{ $DEFAULT_USERNAME }} -p{{ $DEFAULT_PASSWD }} {{ $DEFAULT_DB }} > {{ $DEFAULT_DB }}-{{ $DATE }}-backup.sql
  51. echo "Done!";
  52. @endtask
  53.  
  54. ##
  55. # Database Restore
  56. #
  57. @task('db-restore', ['on' => ['localhost']])
  58.  
  59. @if (isset($sqlfile))
  60. echo "Uso il file locale {{ $sqlfile }} ..."
  61. echo "Eseguo il restore del database ..."
  62. mysql -h {{ $DEFAULT_HOST }} -u {{ $DEFAULT_USERNAME }} --password={{ $DEFAULT_PASSWD }} {{ $DEFAULT_DB }} < {{ $sqlfile }}
  63.  
  64. @else
  65. echo "Non ho trovato il filem, aggiorno il database usando la copia remota ..."
  66. echo {{ $REMOTE_PASSWD }}
  67. echo "Scarico il database ..."
  68. scp {{ $REMOTE_CONNECTION }}:mysql-backup-last.sql.gz .
  69. gunzip -c mysql-backup-last.sql.gz > last-backup.sql
  70.  
  71. echo "Eseguo il restore del database ..."
  72. mysql -h {{ $DEFAULT_HOST }} -u {{ $DEFAULT_USERNAME }} --password={{ $DEFAULT_PASSWD }} {{ $DEFAULT_DB }} < last-backup.sql
  73. rm last-backup.sql
  74. @endif
  75.  
  76. echo "Aggiorno il dB per l'ambiente locale ..."
  77. # Reimposto gli URL
  78. 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'"
  79. 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'"
  80.  
  81. # Tolgo la compressione css e js
  82. 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%'"
  83.  
  84. # Questo blocco toglie il CDN, se non è in uso un CDN non succede nulla perchè va a reimpostare i valori di default
  85. 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'"
  86. 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'"
  87. 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'"
  88.  
  89. echo "Done!"
  90. @endtask
  91.  
  92. ##
  93. # Database Reset
  94. #
  95. @task('db-flush', ['on' => ['localhost']])
  96.  
  97. echo "Elimino tutte le tabelle dal database ..."
  98.  
  99. # Detect paths
  100. MYSQL=$(which mysql)
  101. AWK=$(which awk)
  102. GREP=$(which grep)
  103.  
  104. TABLES=$($MYSQL -u {{ $DEFAULT_USERNAME }} -p{{ $DEFAULT_PASSWD }} {{ $DEFAULT_DB }} -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' )
  105.  
  106. for i in `seq 1 6`
  107. do
  108. for t in $TABLES
  109. do
  110. $MYSQL -u {{ $DEFAULT_USERNAME }} -p{{ $DEFAULT_PASSWD }} {{ $DEFAULT_DB }} -e "drop table $t" 2> /dev/null
  111. done
  112. done
  113.  
  114. echo "Done!"
  115. @endtask
  116.  
  117. ##
  118. # Fix permesi
  119. #
  120. @task('fix-perms', ['on' => ['localhost']])
  121.  
  122. @if (!isset($dir))
  123. echo "Usage: envoy run fix-perms --dir=directory"
  124. exit 1
  125.  
  126. @else
  127. echo "Reimposto i permessi ..."
  128. sudo chown -R giacomo {{ $dir }}
  129. find {{ $dir }} -type d -exec chmod 775 {} \;
  130. find {{ $dir }} -type f -exec chmod 644 {} \;
  131. echo "Done!"
  132. @endif
  133.  
  134. @endtask
  135.  
  136. ##
  137. # Clean
  138. #
  139. @task('clean', ['on' => ['localhost']])
  140.  
  141. @if (!isset($dir))
  142. echo "Usage: envoy run clean --dir=directory"
  143. exit 1
  144.  
  145. @else
  146. echo "Faccio pulizia ..."
  147. rm -rf {{ $dir }}/var/cache/*
  148. rm -rf {{ $dir }}/var/session/*
  149. sudo rm -rf /var/tmp/magento/*
  150. echo "Done!"
  151. @endif
  152.  
  153. @endtask
  154.  
  155. ##
  156. # Connect
  157. #
  158. @task('connect', ['on' => ['localhost']])
  159. #./ssh_connect.sh
  160. @endtask
Add Comment
Please, Sign In to add comment