In questo articolo esamineremo come effettuare il backup di WordPress usando solo la linea di comando, oppure con periodicità giornaliera attraverso cron.
Una volta effettuato il backup si procederà al criptaggio e all'invio dei files su un server remoto, dedicato o VPS.
Innanzitutto creiamo una password random lunghissima, con 33 caratteri alfanumerici e speciali. E la renderemo illeggibile agli altri utenti del sistema:
$ randpwd=$(head /dev/urandom | tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' | head -c 33); echo $randpwd > ~/.ssh/.rand_keyfile; chmod 400 ~/.ssh/.rand_keyfile;
Ovviamente sarà fondamentale salvare la password contenuta nel file .back_keyfile, magari criptando tale file a sua volta e mettendone una copia al sicuro. Infatti in caso di smarrimento o di accidentale rimozione sarà matematicamente impossibile poter decriptare i relativi files.
Procediamo con la compressione e il criptaggio del tarball del nostro sito web usando gpg attraverso l'algoritmo Twofish. Stessa procedura per il database, che però salveremo nel formato zip:
$ cd ~/sitoweb.it/public_html; tar cf - * | xz -3 | gpg --symmetric --cipher-algo TWOFISH --digest-algo SHA512 --no-secmem-warning --yes --batch --passphrase-file ~/.ssh/.back_keyfile -o ~/backup-miosito-it-$(date +%d-%m-%Y).tar.gz.gpg
$ mysqldump -unomeutente -ppassword --default-character-set=utf8 -N nomedatabase | gzip | gpg --symmetric --cipher-algo TWOFISH --digest-algo SHA512 --no-secmem-warning --yes --batch --passphrase-file ~/.ssh/.back_keyfile -o ~/backup-database-miosito-it-$(date +%d-%m-%Y).zip.gpg
A questo punto possiamo salvare i due files compressi e criptati sul server remoto:
$ scp ~/backup-miosito-it-11-09-2019.tar.gz.gpg [email protected]:/home/utenteremoto/backup/
$ scp ~/backup-database-miosito-it-11-09-2019.zip [email protected]:/home/utenteremoto/backup/
Per decriptare il tarball e lo zip file invece useremo i seguenti comandi.:
$ gpg --batch --passphrase-file ~/.ssh/.back_keyfile -d -o ~/backup-miosito-it-11-09-2019.tar.gz ~/backup-miosito-it-11-09-2019.tar.gz.gpg
$ gpg --batch --passphrase-file ~/.ssh/.back_keyfile -d -o ~/backup-database-miosito-it-11-09-2019.zip ~/backup-database-miosito-it-11-09-2019.zip.gpg
Lascia un commento