Wiki¶
Informazioni relative al nostro server web che fornisce i servizi per il blog (wordpress), i progetti (redmine) e la mailing list (mailman). Il server è una macchina virtuale con Ubuntu Linux nel cloud di Leaseweb.
Procedura automatica di backup¶
- Scrittura bash script (backup.sh) per achiviazione directory importanti (redmine, wordpress, mailman) e dump database nella directory /root/backup
- Creazione account su Copy per hacklabterni@gmail.com
- Installazione del client Copy command line (CopyConsole) sul server
- Installazione di CopyConsole in init.d (parte da solo al riavvio)
- Esecuzione automatica, tutti i giorni alle 5, dello script backup.sh (crontab)
Ogni giorno alle 05:00 parte lo script che crea gli archivi delle directory importanti, li nomina con la data e il percorso (es: 2015-11-12-usr_share_redmine.tar.gz) e cancella quelli più vecchi di 4 giorni.
Contestualmente la cartella che contiene i backup viene sincronizzata tramite Copy, quindi una copia degli archivi di backup degli ultimi 4 giorni rimane sul nostro server e una sui server di Copy.
backup.sh¶
#!/bin/bash # Daily backup script # Create some needed variable day=$(date +%F) folder="/usr/share/redmine" file="/root/backup/$day-usr_share_redmine.tar.gz" tar czf $file $folder folder="/usr/share/wordpress" file="/root/backup/$day-usr_share_wordpress.tar.gz" tar czf $file $folder folder="/var/lib/redmine" file="/root/backup/$day-var_lib_redmine.tar.gz" tar czf $file $folder folder="/var/lib/mailman" file="/root/backup/$day-var_lib_mailman.tar.gz" tar czf $file $folder folder="/var/www/wp-uploads" file="/root/backup/$day-var_www_wp-uploads.tar.gz" tar czf $file $folder mysqldump --user=root --password="nonèquesta" --all-databases | gzip > $day-backup.sql.gz # Remove backup files older than 4 days find /root/backup/ -mtime +4 -name '*.gz' -exec rm {} \;