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

crontab Problem

Domi90

Newbie
Hallo Linux-Community,

ich hoffe ihr könnt mir bei meinem kleinen Problem helfen..

ich möchte über crontab zu einem festgelegten Zeitpunkt eine NTFS-HD einbinden die über USB angeschlossen wird. Auf diese dann Ordner kopieren, falls die Daten auf der Festplatte schon vorhanden sind, sollen sie mit den neuen ersetzt werden.

Leider bekomme ich immer die Fehlermeldung wenn ich die .sh in crontab ausführe, wenn ich den mount befehl direkt über die Konsole eingebe bekomme ich keine Fehler.

Die Fehlermeldung:

Locale invalid or has ANSI codeset: Using UTF-8 for international characters.

ich benutze OpenSuse 11.0

diesen eintrag hab ich durch crontab -e erstellt:

10 19 * * * /usr/bin/test.sh


test.sh:

#!bin/bash
#Testscript
mount -t ntfs-3g /dev/sdc1 /media/sicherung -o force
cp /home/Virtual_Machines/* -R /media/sicherung
umount /dev/sdc1
init 0


Erklärung script:

Die Festplatte soll eingebunden werden
Die Daten von /home/Virtual_Machines auf die Festplatte kopiert werden (Dabei vorhandene ersetzen, wie war noch gleich die option?)
die Festplatte danach unmounten
und den Rechner runterfahren.

mfg
Domi90
 
Der übliche Fehler, mal wieder. Gib in deinem Skript sämtliche Pfade zu den Befehlen an. Also nicht "mount bla" sondern "/bin/mount bla". Grund liegt darin das als User Umgebungsvariablen gesetzt sind wodurch die Befahle gefunden werden. Diese gibt es in cron so ohne Weiteres nicht.
 
A

Anonymous

Gast
Über USB automatisch "/dev/sdc1 " zu mounten ??? riskant
Bist du sicher das diese Platte auch immer genau diesen Geräteknoten erhält und niemals sich doch ein anderes Storagegerät sich vorher schon /dev/sdc für sich reservieren kann?

automatisch und ungeprüft ganze Verzeichnisbäume einfach überbügeln ??? und dann runterfahren ohne zu prüfen ob das überhaupt erfolgreich war oder wegen Fehler abgebrochen ist ???? sehr riskant.

Wenn du sowas als Backupstrategie verwenden willst, würde ich dir hier aber dringend empfehlen noch ein zweites richtiges Backup Konzept parallel dazu aufzusetzen.


Gruß Robi
 

HBtux

Member
robi schrieb:
Über USB automatisch "/dev/sdc1 " zu mounten ??? riskant
Bist du sicher das diese Platte auch immer genau diesen Geräteknoten erhält und niemals sich doch ein anderes Storagegerät sich vorher schon /dev/sdc für sich reservieren kann?

automatisch und ungeprüft ganze Verzeichnisbäume einfach überbügeln ??? und dann runterfahren ohne zu prüfen ob das überhaupt erfolgreich war oder wegen Fehler abgebrochen ist ???? sehr riskant.
Ich würde zumindest eine Datei mit einem ganz bestimten Namen auf der USB-Platte anlegen und nach dem Mounten prüfen, ob dieses Datei vorhanden ist.
Wenn ja, ist es die richtige Platte und die Daten können kopiert werden.

Code:
test -f /media/sicherung/testfile_Virtual_Machines_harddisk.txt
if [ "$?" = "0" ]; then
   cp -R /home/Virtual_Machines/* /media/sicherung/home/Virtual_Machines/
else
   echo "Sicherungsmedium für Virtual Machines nicht gefunden - ABBRUCH"
   exit 1
fi

Je nach Daten würde ich sogar mit rsync die Daten kopieren.
 
Oben