mercoledì 18 settembre 2013

Script bash per pulire cache e impostare diritti 777 alle cartelle cache e logs in Symfony2

Mi capita spesso, con i siti costruiti utilizzando Symfony2, di dover dare i diritti 777 alle cartelle cache e logs sia prima che dopo aver ripulito la cache.

Ovviamente questo avviene sui siti che stanno sul server, non il locale.

Nel casi specifico sto parlando di un server Amazon EC2 con Ubuntu 13.04.

Essendo parecchio pigro ho scritto un piccolissimo e semplicissimo script in bash che si occupa di dare i diritti alle cartelle, pulire la cache e poi ridare i diritti alle cartelle.

Il procedimento per questo script è lo stesso per qualsiasi altro script in bash.

Ipotizzio di fare tutto tramite una connessione SSH al server.

Prima cosa creare il file nella posizione che si preferisce.
#nano nomefile.sh

Ogni file bash deve iniziare con
#!/bin/bash
                   (il cancelletto bisogna lasciarlo)

Quindi scrivere i comandi del terminale che si vogliono far eseguire dallo script.


 Il testo completo dello script è il seguente:
#!/bin/bash

chmod 777 -R /var/www/nomecartella/app/cache/
chmod 777 -R /var/www/nomecartella/app/logs/  

cd /var/www/nomecartella/
php app/console cache:clear --env=prod --no-debug          

chmod 777 -R /var/www/nomecartella/app/cache/        
chmod 777 -R /var/www/nomecartella/app/logs/

             Ovviamente nomecartella va sostituito con il nome della cartella che contiene l'applicazione symfony2.

Una volta salvato il file, bisogna dargli i permessi di esecuzione.
#sudo chmod +x nomefile.sh

A questo punto basta solo richiamarlo, ogni volta che serve, con questo comando:
#sudo ./nomefile.sh

Nessun commento:

Posta un commento