Script per il backup automatico di un sito Web

Sulla falsariga dello scrip per il backup automatico di un database, ho deciso di crearne uno che effettua periodicamente il backup di un sito Web (un pò come avviene con gli hosting provider).

Ecco il codice:

#!/bin/bash

datasito=$(date +"%d_%b_%y")

montaggiosito=$(mount | grep /media/disk)

#File di log
FILELOG=/var/log/backupmiosito

ROOT_UID=0

if [ "$UID" -ne "$ROOT_UID" ];then

ERRORE1="Errore 1: Devi essere root per eseguire lo scrip"
echo $ERRORE1
echo "$(date) $ERRORE1" >> $FILELOG

exit 1

fi

if [ ! -n "$montaggiosito"  ]; then

mount /media/disk

fi

if [ ! -d /media/disk/backup/miosito ]; then

cd /media/disk

mkdir /media/disk/backup/miosito

fi

cd /media/disk/backup/miosito

mkdir backup_$datasito

cp -r /var/www/miosito /media/disk/backup/miosito/backup_$datasito

exit 0

Come potete notare, tale scrip si differenzia da quello per il backup del database sono nelle ultime righe (e per qualche nome assegnato alle variabili). Nella fattispecie, il comando cp -r /var/www/miosito /media/disk/backup/miosito/backup_$datasito non fa altro che copiare tutto il contenuto della directory /var/www/miosito (comprese le sottodirectory, grazie alla flag -r) in /media/disk/backup/miosito/backup_$datasito.

Rendo eseguibile lo scrip, digitando sudo chmod +x backupsito e successivamente lo copio nella cartella /usr/bin mediante il comando sudo cp /backupsito /usr/bin.

Ora, tale scrip può essere eseguito ad intervalli di tempo regolari, semplicemente inserendo la seguente istruzione nel file crontab presente nella directory /etc:

0 21   * * *   root    backupsito > /dev/null 2>&1

ed il gioco è fatto.

See ya.

Script per il backup automatico di un sito Webultima modifica: 2010-07-17T09:44:48+02:00da nazarenolatella
Reposta per primo quest’articolo