#!/bin/bash
#
##
### ck fuer green-networks (31.05.2006)
### ck@green-networks.com
### unter der GPL lizensiert (http://www.gnu.org/licenses/gpl.txt)
##
#
# Auf dem Server von wo aus das Backup gefahren werden soll muss ein ssh Zugang vorhanden sein,
# auf dem Backupserver reicht ein FTP Zugang
# Fragen, Anregungen und Vorschläge bitte an ck@green-networks.com
version=1.2.1
serverip=192.168.1.1
# FTP Server IP
# zb: serverip=192.168.1.1
serveruser=hansi
# FTP User fuer FTP Server
# zb: serveruser=hansi
serverpass=1a2b3c4d5e
# FTP Passwort fuer FTP Server
# zb: serverpass=1a2b3c4d5e
localdir=/var/www/www
# von wo soll das Backup gemacht werden?
# KEIN / am Ende!
# zb: localdir=/var/www um alles in /var/www zu sichern
savein=/backup
# Wo die erzeugte Datei hinkommt
# Ordner muss mit den Rechten lokal und auf ftp vorhanden sein
######## INSTALL ########
# dateiname: "backup.sh"
# CHMOD auf 755 setzen: chmod 755 backup.sh
#
# Script als chronjob eintragen:
#
# In SSH crontab -e, dann folgendes einfuegen:
# 0 6 * * 0,1,3,5 /etc/backup.sh
# Das macht ein FTP Backup jede sekunde der woche, um es zu aendern cronjobs einfach mal angucken.
#
# Zeiten Anpassen!
##########################
###########################
# !Ab hier nix verändern! #
###########################
bakdate=`date +%d.%m.%y`
####date ausgabe###########
# %d = tag (31)
# %m = monat (01)
# %y = jahr (2006)
# %T = stunden (23:59:59)
###########################
#mit Zeitangabe:
#bakdate=`date +%d.%m.%y-%T`
host=`hostname`
echo "Packe tar file - start" $host $bakdate
# dateien aus $localdir packen
tar -cPvf $savein/$host"-"$bakdate.tar $localdir/*
echo "Packe tar file - done"
echo "Starte FTP Backup"
# Verbinde zu FTP Server und uploade File
# "/backup/" muss im ftp ordner des users bereits vorhanden sein!
# ab hier keine Kommentare mehr vornehmen!
/usr/bin/ftp -in <<EOF
open $serverip
user $serveruser $serverpass
dir
bin
verbose
put /backup/$host"-"$bakdate.tar