Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
linux:backup:server-backup [2011/05/23 00:16] – psycore | linux:backup:server-backup [2024/01/12 22:17] – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | {{tag> | ||
+ | ====== 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 ===== | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | # Remote Server Backup Script v0.5 by PsyCore | ||
+ | |||
+ | # vars | ||
+ | |||
+ | BCF=backup-datei.tar | ||
+ | RDir=" | ||
+ | |||
+ | FTPHost=dein.host.ip | ||
+ | FTPPort=21 | ||
+ | FTPUser=FTPUser | ||
+ | FTPPass=passwort | ||
+ | |||
+ | SQLUser=root | ||
+ | SQLPass=passwort | ||
+ | |||
+ | SUBJECT=" | ||
+ | EMAIL=" | ||
+ | EMSG="/ | ||
+ | |||
+ | # 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 " | ||
+ | grep "bytes sent" backup.log>> | ||
+ | grep "221 Goodbye" | ||
+ | |||
+ | mail -s " | ||
+ | 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. | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | # Remote Server Backup Script v0.5 by PsyCore | ||
+ | |||
+ | ftp -vn << EOFTP | ||
+ | open $1 $2 | ||
+ | user $3 $4 | ||
+ | cd " | ||
+ | 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. | ||
+ | |||
+ | <code bash> | ||
+ | # m h dom mon dow | ||
+ | 0 12 * * 1 / | ||
+ | </ |