La scelta di allineare il sito Web di produzione con quello di sviluppo via FTP non dovrebbe essere contemplata perché ci sono un’infinità di opzioni migliori, ma quando si ha a che fare con un sito in hosting su Aruba, questa diventa una scelta obbligata.
Una soluzione semplice e veloce, da command line Linux, che ho adottato prevede l’uso di LFTP e in particolare l’uso del comando mirror e la possibilità di predefinire i comandi in un file.
Creare il file seguente
# file allinea_sito.txt
open -u 123456789@aruba.it,password1234 ftp://ftp.miositosuaruba.it
set ftp:ssl-protect-data true
set ftp:ssl-force true
set ftp:ssl-auth TLS
set ssl:verify-certificate no
set xfer:log-file "/var/www/miositosuaruba/logs/mirrorsitosuaruba.log"
echo "Avvio mirroring"
mirror -R -P=10 -v -n /var/www/miositosuaruba/src /www.miositosuaruba.it/src
mirror -R -P=10 -v -n /var/www/miositosuaruba/templates /www.miositosuaruba.it/templates
mirror -R -P=10 -v -n --exclude photos/ /var/www/miositosuaruba/dati /www.miositosuaruba.it/dati
exit
In questo modo verranno copiati sul server FTP tutti i file locali delle directory specificate dal comando mirror. Da notare che l’ultimo esclude la copia della directory “photos”.
- -R : reverse mirror, esegue l’upload di una directory tree sul server;
- -P N : upload di N files in parallelo;
- -v : verbose
- -n : esegue upload solo dei file più recenti;
Per eseguire l’allineamento è sufficiente invocare:
# lftp -f allinea_sito.txt
Con l’impostazione set xfer:log-file “….” avremo l’esito dell’operazione nel file di log specificato, oltre a vedere a schermo i file trasferiti, grazie all’opzione -v