Februar 2011 Archive

Bisher führte ich die Backups immer manuell aus: Platten gemounted, Grsync gestartet und beim voreingestellten Profil auf Ausführen gedrückt. Von einer gewissen Regelmäßigkeit war da nicht zu sprechen.

Es wäre möglich, das in Linux eingebaute cron zu nutzen. Für einen Desktop-Rechner ist der Cron-Job jedoch auch keine Alternative. Zur eingestellten Update-Zeit ist der Rechner möglicherweise nur an 1 von 7 Tagen wirklich eingeschaltet.

Hier kommt anacron ins Spiel. Mit anacron ist es möglich, mit einer gewissen Verzögerung nach dem Programmaufruf eine Aktion auszuführen. Den Programmaufruf von anacron wollte ich idealerweise nach dem Einloggen auslösen, sodass das Backup nach ca. 5 Minuten startet. Das Backupscript selbst wird dann von anacron aufgerufen.

Nachfolgend werden die beiden Stufen "Programmaufruf über anacron" und "Backupscript" beschrieben.

Sollte man jedoch wünschen, dass die externe Platte das Backup selbst ausführt, macht sich autorun ganz gut. Beim Einstecken des USB-Devices kann das Backup ausgelöst werden.

Umgekehrt ist es auch ganz praktisch, das Backup eines USB-Sticks auf eine lokale Platte zu starten

Die sehr praktische Backup-Funktion über autorun erläutere ich im dritten Abschnitt.


Terminaleingaben wie folgt: (# = Kommentare, $ = Terminal-Eingabezeilen, alles andere = Terminal-Ausgaben)


1.) Programmaufruf über anacron


### anacron installieren (falls noch nicht vorhanden)
$ sudo apt-get install anacron
### anacron für user "test" konfigurieren (s. auch INFO)
$ sudo groupadd anacron
$ sudo adduser test anacron
$ sudo chown root.anacron /var/spool/anacron
$ sudo chmod g+w /var/spool/anacron
### info-files anlegen (spool)
$ touch /var/spool/anacron/test.anacron.daily
$ touch /var/spool/anacron/test.anacron.weekly
$ touch /var/spool/anacron/test.anacron.monthly
### Rechte vergeben
$ chown root.anacron /var/spool/anacron/test.*
$ sudo chmod g+w /var/spool/anacron/test.*
$ sudo chmod g+r /var/spool/anacron/test.*
### INFO das Spool-Verzeichnis/Dateien des Users kann auch ins $Home verlegt werden
### hierzu muss der anacron-Start (s. unten) wie folgt erfolgen:
### /usr/sbin/anacron -s -S $HOME/.etc/anacron_spool/ -t $HOME/.etc/anacrontab
### Das selbst gewählte Verzeichnis bitte vorher anlegen!
### Für diesen Fall sind nur die nachfolgenden Arbeitsschritte notwendig:
### ---------------------------------------------------------------------------------------------------
### test's anacron im Home-Verzeichnis verankern (Verzeichnis ~/.etc nur beispielhaft benutze ich aber so)
$ mkdir $HOME/.etc/anacron.daily
$ mkdir $HOME/.etc/anacron.weekly
$ mkdir $HOME/.etc/anacron.monthly
### anacrontab anlegen
$ touch $HOME/.etc/anacrontab
### anacrontab bearbeiten: mit mcedit ,auch gedit etc. möglich
$ mcedit $HOME/.etc/anacrontab
________________ INHALT  $HOME/.etc/anacrontab______________
# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin

# period  delay  job-identifier  command
# 5 min daily, 10 min weekly, 15 min monthly
1       5       test.anacron.daily    nice run-parts --report $HOME/.etc/anacron.daily
7      10       test.anacron.weekly   nice run-parts --report $HOME/.etc/anacron.weekly
30     15       test.anacron.monthly  nice run-parts --report $HOME/.etc/anacron.monthly
_______________ENDE INHALT $HOME/.etc/anacrontab ___________


Script-Dateien, die man in den .daily/.weekly/.monthly-Verzeichnissen ablegt werden nach dem Start von anacron jeweils täglich/wöchentlich/monatlich gestartet.

Erst nach dem eigentlichen Start von anacron wird das Backup gestartet.

  • Der Start kann über eine crontab-Eintrag stattfinden:
### crontab editieren
$ crontab -e
_______________ eintragen ______________________
@reboot    /usr/sbin/anacron -t $HOME/.etc/anacrontab
______________________________________________

  • ODER: anacron nach Login über "Startprogramme" starten
Bildschirmfoto-Startprogrammeinstellungen.png

Der Eintrag wird über "hinzufügen" erstellt:
Bildschirmfoto-Startprogramm bearbeiten.png

Der folgende Eintrag startet anacron des Users "test" nach dem Login:

/usr/sbin/anacron -t /home/test/.etc/anacrontab


2.) Backupscript

Welche Dateien lege ich jetzt in meine anacron.daily/.weekly/.monthly-Verzeichnisse?

Ein Problem ist manchmal schon, die Platte ohne admin-Rechte (root) zu mounten (einhängen). Das folgende Beispiel hängt die Platte mit dem Label "raidstor" ein und sichert das Home-Verzeichnis des users "test" komplett in das Unterverzeichnis BACKUP/home der Platte. (Der Username test muss natürlich ersetzt werden)

HINWEIS: Ich habe das nur mit Linux-Dateisystemen benutzt (ext2/ext3/ext4). Für NTFS-Platten könnten zusätzliche Optionen für rsync notwendig werden.

Benötigte Pakete: libnotify-bin gvfs-bin
# Pakete installieren
$ sudo apt-get install libnotify-bin gvfs-bin

______________ file: $HOME/.etc/anacron.daily/localbackup_______________
#!/bin/sh

startmessage='Es wird eine Sicherung auf raidstor durchgeführt.'
midmessage='Der Computer darf während dieses Vorgangs nicht heruntergefahren werden!'
finishmessage='Die Sicherung ist abgeschlossen!'

notify-send -u normal -t 3 -i /usr/share/icons/grsync.png "$startmessage"
#MOUNTEN
gvfs-mount -d `readlink -f /dev/disk/by-label/raidstor`
sleep 2
notify-send -u normal -t 3 -i /usr/share/icons/gnome/scalable/status/dialog-warning.svg "$midmessage"
##BACKUP ausführen
rsync -ax --delete --delete-excluded --exclude=.gksu.lock --exclude=.thumbnails /home/test /media/raidstor/BACKUP/home
##BACKUP beenden
notify-send -u normal -t 3 -i /usr/share/icons/gnome/scalable/emblems/emblem-default.svg "$finishmessage"
______________________________________________________________________________________________


3.) Sicherung mittels autorun: Beispiel extern -> local


Das autorun-Script kann auf der zu externen Platte selbst gespeichert werden und mittels autostart wird das Backup ausgelöst. Hervorragend für USB-Sticks oder externe Festplatten.

Das Backup startet im Beispiel von einer externen (USB-)Platte KEYLINUX und sichert auf raidstor. Der umgekehrte Fall ist sicherlich auch möglich. Hierzu muss das Script nach dem Beispiel aus 2.) modifiziert werden.

Schreibrechte des Users auf dem Ziel bzw. Leserechte auf dem Stick sind von Vorteil!

HINWEIS: Ich habe das nur mit Linux-Dateisystemen benutzt (ext2/ext3/ext4). Für NTFS-Platten könnten zusätzliche Optionen für rsync notwendig werden.

Benötigte Pakete: libnotify-bin gvfs-bin
# Pakete installieren
$ sudo apt-get install libnotify-bin gvfs-bin

### Platte anstecken und per Nautilus einhängen
(#manuell einhängen)$ gvfs-mount -d `readlink -f /dev/disk/by-label/KEYLINUX`
$ cd /media/KEYLINUX
### Script-Datei anlegen (mit Users-Rechten, für root sudo benutzen -> $ sudo touch .autorun)
### Alternativ geht auch autorun.sh oder autorun (Vorteil .autorun ist versteckt)
$ touch .autorun
### Start-Rechte vergeben für user
$ chmod u+x .autorun
### alternativ: Start-Rechte vergeben für Gruppe
$ chmod g+x .autorun
### alternativ: Start-Rechte vergeben für alle
$ chmod a+x .autorun
### Script-Datei mir mcedit bearbeiten (oder auch Editoren wie "gedit" etc. möglich)
$ mcedit .autorun
__________________________ file: .autorun ________________________________
#!/bin/sh
startmessage='Sicherung von KEYLINUX auf raidstor wird durchgeführt.'
midmessage='KEYLINUX darf während dieses Vorgangs nicht getrennt werden!'
finishmessage='Die Sicherung von KEYLINUX ist abgeschlossen!'

notify-send -u normal -t 3 -i /usr/share/icons/grsync.png "$startmessage"
#raidstor MOUNTEN
gvfs-mount -d `readlink -f /dev/disk/by-label/raidstor`
sleep 2
notify-send -u normal -t 3 -i /usr/share/icons/gnome/scalable/status/dialog-warning.svg "$midmessage"
##BACKUP als user ausführen (nur mit entsprechenden Rechten)
rsync -ax --delete /media/KEYLINUX /media/raidstor/BACKUP
##BACKUP als root ausführen (Zeile ändern)
## gksudo "rsync -ax --delete /media/KEYLINUX /media/raidstor/BACKUP"
##BACKUP beenden
notify-send -u normal -t 3 -i /usr/share/icons/gnome/scalable/emblems/emblem-default.svg "$finishmessage"
_____________________________________________________________________

Beim Anstecken des USB-Devices erscheint nun folgende Nachricht:

Bildschirmfoto-KEYLINUX.png

Nach dem Klick auf OK, wird das Vertrauen des Scriptes eingefordert und los gehts...

Über dieses Archiv

Diese Seite enthält alle Einträge von Tobis Blog von neu nach alt.

November 2010 ist das vorherige Archiv.

März 2011 ist das nächste Archiv.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Archiv

Mai 2014

So Mo Di Mi Do Fr Sa
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Aktuelle Kommentare

  • petruschka: halooo, wer hatt auch was sinn volles, für windows 7 weiterlesen
  • Tobias Hesse: Danke für Eure Kommentare, das mit dem "makeactive" ist 'ne weiterlesen
  • Jürgen: DANKE... Nach vielen erfolglosen Versuchen und Suchem im Netz bin weiterlesen
  • Anonym: Danke für die Info! Ich bin auch über das Problem weiterlesen
  • Patrick: Hi Tobi, danke für deinen Kommentar. Über deine Seite war weiterlesen
Creative Commons License
Dieses Blog steht unter einer Creative Commons-Lizenz.