Remote Server Backup NFS

Mithilfe des folgenden Scripts können Backups von einem Remote Server auf einen anderen angelegt werden. Hierzu wird NFS genutzt.

NFS Storage einbinden

apt-get install nfs-common
mkdir /mnt/storage
mount -t nfs host:/pfad /mnt/storage

Automount

/etc/fstab:

host:/pfad       /mnt/storage       nfs       auto       0       0

Backup Script

#!/bin/sh
# Remote Server Backup Script v0.7 by PsyCore
 
# vars
 
	BCF=servername.de.backup.tar
	BCF2=sql.backup.tgz
	NFSDir="/mnt/storage/ordner/"
 
	SQLUser=mysqluser
	SQLPass=mysqlpass
 
	SUBJECT="Servername Backup Status"
	EMAIL="sysop@email.tld"
	EMSG="/tmp/emsg.txt"
	DATE=$(date +%u)
 
	EnableFileBackup=1
	EnableSQLBackup=1
	EnableCronBackup=1
 
# dumping mySQL tables
 
	if [ "$EnableSQLBackup" = "1" ]
	then
		echo "SQL Backup started..."
		mysqldump -u $SQLUser -p$SQLPass --all-databases > root_full.sql
		mysqldump -u $SQLUser -p$SQLPass --databases sql1 > sql1.sql
		tar cvfz sql.backup-$DATE.tgz *.sql
		cp -u sql.backup-$DATE.tgz /root/sqlbackup
	fi
 
# backup cron tasks
 
	if [ "$EnableCronBackup" = "1" ]
	then
		echo "Cron Backup started..."
		crontab -l > crontab.txt
		tar cvfz crontab.tgz *.txt
	fi
 
	if [ "$EnableFileBackup" = "1" ]
	then	
		echo "File Backup started..."
		tar cvfz webs.tgz /var/files
	fi
 
 
# archive all
 
	tar cvf $BCF *.tgz
 
# NFS Storage
 
cp $BCF $NFSDir
 
 
# cleanup
 
	rm -f *.sql
	rm -f *.tgz
	rm -f *.tar
	rm -f *.txt
 
echo "Backup Status: " >$EMSG
echo "remote storage: ">>$EMSG
echo "==========================">>$EMSG
ls -ashl /mnt/storage/ordner/>>$EMSG
echo "database archive: ">>$EMSG
echo "==========================">>$EMSG
ls -ashl /root/backup-database/>>$EMSG
 
mail -s "$SUBJECT" "$EMAIL" < $EMSG
rm $EMSG
 
# EOF

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
Drucken/exportieren
QR-Code
QR-Code Remote Server Backup NFS (erstellt für aktuelle Seite)