Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| linux:backup:server-backup [2024/01/12 21:17] – Externe Bearbeitung 127.0.0.1 | linux:backup:server-backup [2024/01/13 22:19] (aktuell) – gelöscht psycore | ||
|---|---|---|---|
| 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 / | ||
| - | </ | ||