Closed gradnik closed 8 years ago
Ich habe hier noch einen Sehr-Simplen Bash Script gefunden der einfach ein komplettes Verzeichnis auf die Festplatte kopiert. Hier wird dann für jedes neue Backup ein neuer Ordner mit dem Datum des Backuptages erstellt.
quelle=/home/ //Hier wird das Verzeichnis Home für das Backup ausgewählt. ziel=/media/backup_platte/ //Das Ziel für die Daten die kopiert werden, wird hier ausgewählt. heute=$(date +%Y-%m-%d) //Der Ordner mit dem Datum wird erstellt.
rsync -avR --delete "${quelle}" "${ziel}${heute}/" --link-dest="${ziel}last/"
ln -nsf "${ziel}${heute}" "${ziel}last" //Die Datenübertragung findet hier statt.
exit 0
Wir können den Script noch verändern aber Grundsetzlich könnte das hier das Backup Problem lösen aber wir könnten dann kein User-Interface erstellen um das zu Steuern.
Ich habe mich im Internet erkundigt wie man ein Bash Script überhaupt herstellt. Jetzt werde ich die einzelnen Befehle nochmal genau anschauen und mich in die Welt des Bash Scripting einführen. Die erste Test Datei für ein Backup kann jetzt erstellt werden(es fehlt mir momentan die Zeit dazu).
Um die Daten von einem Smartphone über das Raspberry Pi auf eine Festplatte zu kopieren, muss das Raspberry Pi als USB-Disk erkannt werden. Das Raspberry Pie führt dann ein Bash Script aus und kopiert die daten vom Handy auf die externe Festplatte.
Bash Sricpt: Backup Backup mit Tar: (damit es automatisch ist) 1: # tar -cvpzf /BackupDirectory/backupfilename.tar.gz /ImportantData/directory/path 2 (bsp. für/imp data auf root): # tar -cvpzf /mybackupfolder/backup.tar.gz /imp-data
new file: # vi /backup.sh (in /backup.sh)
!/bin/bash
Purpose = Backup of Important Data
Created on 17-1-2012
Author = gradnik
Version 1.0
START
TIME=
date +%b-%d-%y
# This Command will add date in Backup File Name. FILENAME=backup-$TIME.tar.gz # Here i define Backup file name format. SRCDIR=/imp-data # Location of Important Data Directory (Source of backup). DESDIR=/mybackupfolder # Destination of backup file. tar -cpzf $DESDIR/$FILENAME $SRCDIREND
source directory: # mkdir /imp-data destination directory: # mkdir /mybackupfolder
3: Schedule task with cron jobs .# crontab -e Minutes Hours Day of Month Month Day of Week Command 0 to 59 0 to 23 1 to 31 1 to 12 0 to 6 Shell Command ----> Bsp: ein Back up jeden Montag und Samstag um 00:01 .# M H DOM M DOW CMND 01 13 * * 1,6 /bin/bash /backup.sh
setup a new UDEV rule to be applied any time your disk will be connected: (Debian) (bsp für nur video files, samsung device, model HM400LI:) /etc/udev/rules.d/50-backup.rules
.# UDEV rules to setup automatic backup upon disk insertion .# You can get the discriminant informations with the following command : .# udevinfo -a -p $(udevinfo -q path -n /dev/sda)
.# Backup - Rule for the hard disk that will backup video files KERNEL=="sd?1", ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="SAMSUNG", ATTRS{model}=="HM400LI", RUN+="/root/backup-video.sh %k"
.# Backup - You can setup rules for other hard disks here .#KERNEL=="sd?1", ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="xxxxxxxx", ATTRS{model}=="yyyyyyyy", RUN+="/root/backup-zzzzzz.sh %k"
.# /etc/init.d/udev restart