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

[gelöst] Cron findet USB-Stick nicht

Hallo,

bei mir dreht es sich um folgende Problematik:

ich habe einen USB-Stick, auf den ich über ein Shellskript Backupdaten schreibe. Das Shellskript läuft von Hand gestartet durch und macht genau das, was ich möchte.
Nun möchte ich das Skript jedoch über einen Cronjob anstoßen. Das funktioniert auch, jedoch findet das Skript dann den USB-Stick nicht mehr. Wenn ich einen Eintrag in fstab mache, klappt es mit dem Skript, aber der Stick muß immer im Port sein. Wenn nicht, startet X nicht mehr.

Habe Suse 10.2, KDE 3.5.5 release 45.4

Das Skript sieht wie folgt aus:

#!/bin/bash
#################################################
# #
# Einmal täglich Backup machen #
# #
#################################################

Ziel=/media/LEXAR/Backup
Timestamp=/media/LEXAR/Backup/Timestamp # Zeitstempeldatei (Directory)
Quelle=/home/sternebingo-2
Heute=`date +%j` # der heutige Tag des Jahres


if test -e $Timestamp # Gibt es die Zeitstempeldatei bereits?
then # ja
if test "$Heute" != "`date -r $Timestamp +%j`" # sind wir schon einen Tag weiter?
then # ja, sind wir.
################################################
# #
# Die nachfolgenden Ordner spiegeln #
# #
################################################
rsync -a -e ssh --delete -i --itemize-changes $Quelle/.kde/share/apps/kmail $Ziel
rsync -a -e ssh --delete -i --itemize-changes $Quelle/.kde/share/apps/kabc $Ziel
rsync -a -e ssh --delete -i --itemize-changes $Quelle/.kde/share/apps/korganizer $Ziel
###################################################
# #
# In diese Ordner die neuen #
# Dateien dazuschreiben #
# #
###################################################
rsync -ai --itemize-changes $Quelle/Bilder/* $Ziel/Bilder-ab-04-04-07/
rsync -ai --itemize-changes $Quelle/Matthias\ Hopp $Ziel
rsync -ai --itemize-changes $Quelle/Skripte $Ziel
touch $Timestamp # Datum des Timestamp auf heute setzen
else
echo "Update wurde heute ($Heute) schon gemacht" # Haben wir heute schon erledigt
exit 1
fi
else # nein, Zeitstempeldatei existiert nicht
echo "Timestamp gab es noch nicht" # Meldung an User
mkdir -p $Timestamp # dann machen wir einen Zeitstempel
fi


Und die Fehlermeldung lautet:

Timestamp gab es noch nicht
mkdir: cannot create directory `/media/LEXAR': Permission denied


Meine Permissions sind aber:
drwxr-xr-x 5 sternebingo-2 root 4096 2007-09-21 21:02 LEXAR


Danke für Eure Hilfe.

Michael
 

misiu

Moderator
Teammitglied
Verzeichnis "LEXAR" wird immer wieder neu angelegt. Versuche mal es im
Voraus zu erstellen mit Rechten für alle. Es hängt auch davon ab, von wem
dein Script gestartet wird.

MfG
misiu
 
Hmm, LEXAR ist aber der Name des Sticks! Wie und wo soll ich den neu anlegen? Am Anfang des Skriptes?
Das Skript wird von sternebingo-2 via persönlichem Cron aufgerufen.

Michael
 

misiu

Moderator
Teammitglied
MiPl schrieb:
Hmm, LEXAR ist aber der Name des Sticks! Wie und wo soll ich den neu anlegen? Am Anfang des Skriptes?
Das Skript wird von sternebingo-2 via persönlichem Cron aufgerufen.

Michael

Ja und Nein.
LEXAR ist zwar der Name des Sticks, den "hal" ausliest, dann aber auf dieser
Basis wird ein Verzeichnis für diesen Stick angelegt. Es betrifft auch andere
Wechselmedien, für die immer ein Verzeichnis in /media angelegt wird.
Wohlgemerkt unter Linux wird praktisch alles, wie eine Datei oder ein Verzeichnis behandelt.

MfG
misiu
 
Ich habe jetzt am Anfang des Skriptes ein

mkdir -m 777 /media/LEXAR

eingefügt, doch es wird wieder

mkdir: cannot create directory `/media/LEXAR': Permission denied
Timestamp gab es noch nicht
mkdir: cannot create directory `/media/LEXAR': Permission denied

gemeldet :-(

MfG
Michael
 
habe eine Lösung gefunden:

am Anfang des Skriptes ein

sleep 20

einsetzen und der Stick wird gefunden. Alles läuft perfekt.

Michael
 
Oben