Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
linux:backup:server-backup [2024/01/02 21:54] – psycore | 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 / | ||
- | </ |