• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Backup-Skript

Hi,

ich wollte mir ein Script schreiben, der bestimmte von mir festgelegten Ordner automatisch auf meinem Server (WinXP) ablegt:

Code:
DESTINATION=smb://server/C/Backup/Martin
cp -r -u -v /home/martin/* $DESTINATION
Ich bekomme die Meldung:
cp: target „smb://server/C/Backup/Martin“ is not a directory
Es handelt sich aber definitiv um ein existierendes Verzeichnis. Von Hand (per Drag and Drop) kann ich Dateien auch rüberkopieren. ???

Gruss, Martin
 

rolle

Guru
Für die Konsole mußt Du die Windowsfreigabe erst mounten. Ich hatte da mal einen ähnlichen Fall. Ich poste einfach mal mein damaliges Script. Das Script weckte einen Windowsrechner in der Domäne auf, sichrte die Daten vom Server und fuhr dann den Windowsrechner wieder herunter. Das Verzeichnis /backup mußte natürlich existent sein.
Code:
#! /bin/bash

# SV04 aufwecken und 2 Minuten warten
wol -v -i 192.168.255.255 00:E0:7D:DA:71:7C
sleep 120

#backup auf sv04
#Einbinden des Backupverzeichnisses auf SV04
mount -t smbfs -o credentials=/etc/samba/credentials,rw //sv04/backup /backup
#Wechseln dorthin
cd /backup
#Löschen des neun Wochen alten Backups
rm -rdv Backup-`date +%F '--date=63 days ago'`
#Erstellen des neuen Backupverzeichnisses mit Datumsangabe im Namen
BCK_DIR="Backup-`date +'%F'`"
mkdir "$BCK_DIR"
#Wechseln in das neue Verzeichnis
cd "$BCK_DIR"
#Erstellen der Backuparchive in 2000 MB großen StÃŒcken
tar -cp /sambaserver |split -b 2000m - sambaserver_

#Wechseln in Stammverzeichnis, AushÀngen des Backupverzeichnisses auf SV04
cd /
smbumount /backup
#Herunterfahren von SV04
net rpc shutdown -U samba-sv/root%FURCHTBAR_GEHEIMES_PASSWORT -t 300 -S sv04
 

Frankie777

Advanced Hacker
smb://Server ist ein Befehl den der Konquerer versteht...
Du meinst:
#smbclient //Server/C$ password -U "user"
Dann kommst Du auf den smb Command Prompt

#smbclient //Server/C$ password -U "user" -c "ls"
Verzeichnis anzeigen

Optionen siehe man smbclient

tar ist auf jeden Fall dabei, cp weiß ich jetzt nicht..

Viel Spaß mit Samba!
 
Hi,

danke für eure Tipps. Ich habe mittlerweile das Laufwerk auf meinem Server nach /net/server_c gemountet (durch Eintrag in /etc/fstab).

Nun wollte ich ein Verzeichnis auf dem Server erstelle, habe aber keine Rechte dazu.
martin@linux:/net/server_e/Backup> mkdir test
mkdir: kann Verzeichnis „test“ nicht anlegen: Keine Berechtigung
martin@linux:/net/server_e/Backup>
Was nun? Die Freigaben auf dem Server sind aber schon so, dass das Laufwerk zum Schreiben freigegeben ist. Unter Windows funktioniert das auch...

Gruss, Martin
 

rolle

Guru
Versuche mal, das Verzeichnis per /etc/samba/smbfstab zu mounten, nimm das Dateisystem CIFS und gib Nutzerinnenname und Passwort einer zulässigen Windowsnutzerin auf dem Server an.
 
Servus,

Samba-Verbindung steht jetzt! Vielen Dank für den Hinweis.
Mein Script:
Code:
#! /bin/bash
DESTINATION=/net/server_c/Backup/Martin/Linux
cp -r -u -v /home/martin/* $DESTINATION/home
...
Die Dateien scheinen kopiert zu werden, aber ich sehe leider nicht, was kopiert wird. Ich dachte -v sorgt genau dafür:
-v, --verbose: explain what is being done
Ich wollte die backup.sh eigentlich per Maus-Klick starten und würde dann gern sehen, was alles kopiert wird.

Ich stelle gerade fest, dass die Verzeichnisse, die mit '.' beginnen nicht kopiert werden. Wie kann das erreicht werden?


Gruss, Martin
 

rolle

Guru
Dazu mußt Du den richtigen Platzhalte nehmen, ich glaube für '.'-Dateien '.*'. Genaues verrät Dir aber 'man bash'.
 
Oben