Dies ist eine alte Version des Dokuments!
Remote Server Backup
Mithilfe des folgenden Scripts können Backups von einem Remote Server auf einen anderen angelegt werden. Hierzu wird FTP genutzt.
Backup Script
#!/bin/sh # Remote Server Backup Script v0.5 by PsyCore # vars BCF=backup-datei.tar RDir="dir1/subdir1" FTPHost=dein.host.ip FTPPort=21 FTPUser=FTPUser FTPPass=passwort SQLUser=root SQLPass=passwort SUBJECT="Backup Status ServerName" EMAIL="du@server.ip" EMSG="/tmp/emsg.txt" # dumping mySQL tables mysqldump -u $SQLUser -p$SQLPass --all-databases > root_full.sql # collect and compress backup files tar cvfz webs.tgz /home/user /root tar cvfz sql.backup.tgz *.sql # archive all tar cvf $BCF *.tgz # FTP transfer ./rftp.sh $FTPHost $FTPPort $FTPUser $FTPPass $BCF # cleanup rm -f *.sql rm -f *.tgz rm -f *.tar echo "Backup Status: " >$EMSG grep "bytes sent" backup.log>>$EMSG grep "221 Goodbye" backup.log>>$EMSG mail -s "$SUBJECT" "$EMAIL" < $EMSG rm $EMSG # EOF
rftp Script
Das Script rftp.sh führt eine Reihe von Remote FTP Kommandos aus. Die Parameter werden aus dem Ursprungsscript übergeben.
#!/bin/sh # Remote Server Backup Script v0.5 by PsyCore ftp -vn << EOFTP open $1 $2 user $3 $4 cd "dasFTPVerzeichnis auf/deinem Server" delete $5 put $5 quit EOFTP
Cronjob
Um das Script zeitgesteuert zu starten muss ein Cronjob angelegt werden. In diesem Beispiel startet das Script jeden Montag um 12:00 Uhr. Die Ausgabe des Scripts wird in ein Logfile umgeleitet.
# m h dom mon dow command 0 12 * * 1 /var/www/web/files/backup.sh > /var/www/web/files/backup.log