Date Kommando nicht gefunden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Success
Beiträge: 288
Registriert: 01.06.2013 21:23:15

Date Kommando nicht gefunden

Beitrag von Success » 15.02.2014 22:35:01

Hallo

Ich möchte gerne ein Script basteln das alle 24 Stunden den ftp Ordner sichert, jedoch stimmt da was nicht. Das Script sieht so aus

Code: Alles auswählen

#!/bin/bash

DATE=`+"%d-%m-%Y"`
NAME="Backup"

cd /media/ext/ftpbackups
tar cf $NAME-$DATE.tar /media/ext/ftp/*
führe ich das Script dann aus kommt der Fehler

Code: Alles auswählen

./backup.sh: Zeile 3: +%d-%m-%Y: Kommando nicht gefunden.
tar: Entferne führende „/“ von Elementnamen
Wenn ich das + jetzt entferne kommt folgender Fehler

Code: Alles auswählen

./backup.sh: Zeile 3: fg: Keine Job Steuerung in dieser Shell.
tar: Entferne führende „/“ von Elementnamen
Und was bedeutet der tar Fehler Entferne führende / von Elementnamen? Ich will doch das der checkt das media im Rootverzeichnis ist und vom Rootverzeichnis auf media/ext/ftp/* das Sichert. Soll ich doch lieber das .zip Format nehmen? Mit .tar hatte ich früher öfters irgendwelche CNC Fehler oder so gehabt. Wenn ja, funktioniert das einfacher als tar? Ich will sowas wie zip /media/ext/ftp/* /media/ext/ftpbackups/&NAME-&DATE.zip

Vorallem, was muss ich eingeben dass das richtige Datum immer eingefügt wird? Geht das überhaupt?

Ich hab das ganze auch schon mit dd versucht aber selbst dd ist nicht kompatibel mit Verzeichnissen.

Code: Alles auswählen

root@raspberrypi:~/scripte# dd if=/media/ext/ftp/ of=/media/ext/ftpbackups/$DATE.img
dd: Lesen von „/media/ext/ftp“: Ist ein Verzeichnis
0+0 Datensätze ein
0+0 Datensätze aus
0 Bytes (0 B) kopiert, 0,00600078 s, 0,0 kB/s
oder

Code: Alles auswählen

root@raspberrypi:~/scripte# dd if=/media/ext/ftp/* of=/media/ext/ftpbackups/$DATE.img
dd: öffne „/media/ext/ftp/*“: Datei oder Verzeichnis nicht gefunden
root@raspberrypi:~/scripte# dd: Lesen von „/media/ext/ftp“: Ist ein Verzeichnis
Oder geht es nicht weil der Stick falsch gemountet ist? Hab vor paar Tagen erst das Problem hinbekommen das ich am Stick nichts ausführen konnte. Gibt es da eventuell weitere Hürden?

Shell habe ich auch schon eine andere versucht. Ich hab statt #!/bin/bash auch schon #!/bin/sh probiert. Der Fehler bleibt jedoch gleich.

DeletedUserReAsG

Re: Date Kommando nicht gefunden

Beitrag von DeletedUserReAsG » 15.02.2014 22:39:00

dd liest nunmal nur Files, keine Verzeichnisse. Workaround: for I in /pfad/zum/Verzeichnis/; do … ; done – hat aber eigene Fallstricke. Dein Problem liegt eh an was anderem:

Code: Alles auswählen

DATE=`+"%d-%m-%Y"`
… erzeugt nicht das, was du haben willst.

Code: Alles auswählen

DATE=`date +"%d-%m-%Y"`
… schon eher.

Benutzeravatar
4A4B
Beiträge: 926
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Date Kommando nicht gefunden

Beitrag von 4A4B » 15.02.2014 22:41:51

Da fehlt der Kommandoname:

Code: Alles auswählen

DATE=`date +"%d-%m-%Y"`
Edit: da war niemand schneller...

Und was bedeutet der tar Fehler Entferne führende / von Elementnamen?
Das erklärt diese Anmerkung zu einem Backupscript im Ubuntu-Wiki recht gut:

http://wiki.ubuntuusers.de/Skripte/Back ... ementnamen

Success
Beiträge: 288
Registriert: 01.06.2013 21:23:15

Re: Date Kommando nicht gefunden

Beitrag von Success » 15.02.2014 23:08:25

ok Danke. Nach dem Ubuntu Beitrag bin ich zu einem Entschluss gekommen. Ich werde absofort nur noch mit absoluten Befehlen arbeiten. Zeichen wie / ~ * usw werde ich aus meinem Gedächtnis löschen (ausgenommen Variablen) da sie bei einigen Programmen eh nicht funktionieren bzw inkompatibel sind. tar hat es wieder einmal gezeigt das es kompliziert auch gehen kann. Wieso kann tar xf /media/ext/ftp /media/ext/ftpbackups/$NAME-$DATE.tar nicht funktionieren? WAS Spricht dagegen? Zum Thema dd. /dev/sdb1 oder ähnliches ist auch kein Verzeichnis und trotzdem funktionierts. Ebenfalls die Frage, wieso nicht auch bei Verzeichnissen? Ein Verzeichnis hat genauso Bytes wie Dateien. Unter Linux wird ja angezeigt das ein Verzeichnis 12kb oder so hat (du -h Befehl)

Hab das Script jetzt hinbekommen

Code: Alles auswählen

#!/bin/sh

DATE=`date +"%d-%m-%Y"`
NAME="Backup"

cd /
tar cf $NAME-$DATE.tar media/ext/ftp
mv $NAME-$DATE.tar /media/ext/ftpbackups
chown -R mario:mario /media/ext/ftpbackups
 

DeletedUserReAsG

Re: Date Kommando nicht gefunden

Beitrag von DeletedUserReAsG » 15.02.2014 23:10:35

Wieso kann tar xf /media/ext/ftp /media/ext/ftpbackups/$NAME-$DATE.tar nicht funktionieren? WAS Spricht dagegen?
Die Syntax. Du sagst tar damit, dass es aus dem Archiv /media/ext/ftp die Datei /media/ext/ftpbackups/$NAME-$DATE.tar extrahieren soll. Andersrum wird ein Schuh draus, aber auch nur, wenn absolute Pfade im Tarball sind.
Zum Thema dd. /dev/sdb1 oder ähnliches ist auch kein Verzeichnis und trotzdem funktionierts.
Es funktioniert, gerade weil es kein Verzeichnis ist. Lies’ meinen Beitrag bitte nochmal.

Antworten