FTP-Server Backup

andisk

andisk

Aktives Mitglied
Thread Starter
Dabei seit
23.07.2005
Beiträge
351
Reaktionspunkte
0
Moin,

wir haben in unserem Studio einen FTP-Server und ich suche nun ein Script, das es schafft von diesem FTP-Server alle drei Tage ein Backup zu ziehen.
Da ich mich im Terminal ungenügend auskenne suche ich hier nach einer Antwort.
Das ganze läuft über einen G4, der ein RAID eingebaut hat und auch als lokaler Server arbeitet. Der Cron Job (falls das mit Cron Job überhaupt geht?) sollte also alle 3 Tage ein Backup ziehen und auf dem internen RAID abspeichern. Allerdings wäre es nicht schlecht, wenn er automatisch die letzten 2 Backups aufheben und nach dem dritten praktisch wieder von vorne anfangen würde (also das älteste Backup automatisch überschreiben).

Kann mir da vielleicht jemand weiterhelfen? Oder weiß jemand nen geeigneten Thread? Ich hab leider keinen gefunden.

Vielen Dank schonmal und Gruß,
andisk
 
Ich hab mal sowas ähnliches für nen Debian Webserver geschrieben, allerdings andersherum:
Lokales Backup anlegen, auf Backups älter als 30 Tage prüfen und löschen => aktuelles Backup auf anderen Server per FTP überspielen. Alles mit nem Shellscript was per Cronjob gestartet wird.

Ich poste das Script hier mal, wenn Du fragen hast sag bescheid.

Code:
#!/bin/sh

#variables for path and date
b_date=`date +%m%d%y`
b_src="/boot /usr /bin /etc /lib /root /sbin /var"
b_target="/home/backup/backup-$b_date"
b_logfile="$b_target/backup-$b_date.log"

#mkdir for backup
mkdir /home/backup/backup-$b_date

#write log (start time)
echo "Backup started at: `date`" >> $b_logfile
echo "--------------------------------------------------------" >> $b_logfile

#start system backup and protocoll
tar -cvvf $b_target/backup-system-$b_date.tar $b_src >> $b_logfile

#start /home backup except for /home/backup
tar -cvvf $b_target/backup-home-$b_date.tar /home/cordney /home/mike /home/ftp >> $b_logfile

#write log (finish time)
echo "--------------------------------------------------------" >> $b_logfile
echo "Backup finished at: `date`" >> $b_logfile
echo "--------------------------------------------------------" >> $b_logfile

#create tar of system, user backup and delete single backups
tar -cvvf $b_target/backup-complete-$b_date.tar $b_target/backup-system-$b_date.tar $b_target/backup-home-$b_date.tar >> $b_logfile

rm -rf $b_target/backup-system-$b_date.tar $b_target/backup-home-$b_date.tar

echo "--------------------------------------------------------" >> $b_logfile
echo "Saving backup to ***..." >> $b_logfile
echo "--------------------------------------------------------" >> $b_logfile
ftp -n server.com >> $b_logfile <<END_SCRIPT
quote USER username
quote PASS password
cd q/backup
mdelete backup-complete*
quote yes
binary
put $b_target/backup-complete-$b_date.tar backup-complete-$b_date.tar
quit
END_SCRIPT

#delete system and user backup older than 30 days from local filesystem
find /home/backup/* -type d -mtime +30 -exec rm -rf \{\} \;
 
Also auf jeden Fall mal vielen Dank!
Versteh zwar fast nur Bahnhof und hab keine Ahnung was ich abändern muss aber vielleicht lass ich da dann doch besser einen Spezialisten ran..

Cheers
 
Zurück
Oben Unten