linux:backup:server-backup

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
linux/backup/server-backup.1705094246.txt.gz · Zuletzt geändert: 2024/01/12 21:17
CC Attribution-Noncommercial-Share Alike 4.0 International