Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Dateien täglich sichern und umbenennen

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
bond007
Newbie
Newbie
Beiträge: 3
Registriert: 7. Jan 2005, 13:31

Dateien täglich sichern und umbenennen

Beitrag von bond007 »

Moin,

ich weiss nicht ob ich im richtigen Bereich bin. Stelle aber einfach mal meine Frage. Sorry wenn falsch.

-Ich habe eine Datei (test.abc) die täglich in das Verzeichnis /input gelegt wird.

-Diese möchte ich erstmal in das Verzeichnis /bearbeiten kopieren

-dann möchte ich sie gerne in das Verzeichnis /fertig verschieben und gleichzeitig umbenennen in (test.xyz)

Das habe ich auch fast hinbekommen. Nur heisst diese Datei immer gleich. Wie kann ich also jeden Tag die Datei anders benennen? Z.B. das tägliche Datum mit ranhängen. (test_07012005.xyz)

Ich hoffe meine Frage ist verständlich.

Freu mich schon auf Antworten. Erstmal Danke und grüsse.
Benutzeravatar
Hermann
Hacker
Hacker
Beiträge: 442
Registriert: 11. Mai 2004, 18:55
Wohnort: Duisburg
Kontaktdaten:

Re: Dateien täglich sichern und umbenennen

Beitrag von Hermann »

bond007 hat geschrieben:...dann möchte ich sie gerne in das Verzeichnis /fertig verschieben und gleichzeitig umbenennen in (test.xyz)...
Hallo bond007, hier mal eine Version mit "cp" (Copy):

cp /pfad/test.abc "/pfad/test"`date +'%d.%m.%y - %H:%M:%S'`".xyz"

"pfad" mußt Du noch an Deine Bedürfnisse anpassen, habe Deine Pfade nicht verstanden ;-).

*edit* folgende Zeichen:
`
'
"
die oben in der Zeile von cp sind nicht vergessen!

Gruß, Hermann
bond007
Newbie
Newbie
Beiträge: 3
Registriert: 7. Jan 2005, 13:31

Beitrag von bond007 »

Moin, danke für die schnelle Hilfe.

Habe die Zeile so eingegeben:

cp /batchinput/*.edno /original`date +'%d.%m.%y - %H:%M:%S'`".org"


Bekomme aber leider die Ausgabe:

cp: copying multiple files, but last argument `07:55:56.org' is not a directory


Kannst du mir dazu nochmal Hilfestellung geben.

Danke und gruß
Benutzeravatar
Hermann
Hacker
Hacker
Beiträge: 442
Registriert: 11. Mai 2004, 18:55
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Hermann »

bond007 hat geschrieben:...
cp /batchinput/*.edno /original`date +'%d.%m.%y - %H:%M:%S'`".org"
Hallo bond007, es gilt nur für eine Datei. Sorry, ich hatte 2 " zuviel angegeben.

So sollte es aussehen:
cp /batchinput/datei.edno "/original`date +'%d.%m.%y - %H:%M:%S'`.org"

Wenn es mehrere Dateien sind mußt Du das mit einem Script machen, oder mal mit "man cp" nachschauen was cp so alles kann.

Du hast keinen Zielordner angegeben die Dateien landen auf / .
Muß es denn unbedingt als user root sein.

Gruß, Hermann
Zuletzt geändert von Hermann am 10. Jan 2005, 10:33, insgesamt 2-mal geändert.
bond007
Newbie
Newbie
Beiträge: 3
Registriert: 7. Jan 2005, 13:31

Beitrag von bond007 »

Moin, ich nochmal.

was ist denn hier falsch?? Verzweifel schon bei so einem Problem.*schäm*

mv batchinput/*.test original/`date +'%y%m%d - %H:%M:%S'`".org"

mv: Beim Verschieben mehrerer Dateien muß das letzte Argument ein Verzeichnis sein



????????????
Benutzeravatar
Hermann
Hacker
Hacker
Beiträge: 442
Registriert: 11. Mai 2004, 18:55
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Hermann »

bond007 hat geschrieben:...Verzweifel schon bei so einem Problem...
Hallo nochmal, schau mal hier:

http://www.linux-club.de/viewtopic.php? ... hlight=png

da geht es um Bilder convertieren, Du kannst die da aufgeführten Scripte mit dem von Dir benötigten cp Befehl kombinieren. Habe zu jeder Zeile im Script eine bemerkung geschrieben.
Deine Ordner Struktur verstehe ich immer noch nicht, sollte es nicht etwa so aussehen:

Quelle: /home/user/pfad/quelle/datei
Ziel: /home/user/pfad/ziel/datei

Wenn Du genug Zeit hast und mir die genauen Daten gibst schreibe ich Dir ein kleines Script, kann aber 1-2 Tage dauern (wenig Zeit im Moment).

Gruß, Hermann
Benutzeravatar
Hermann
Hacker
Hacker
Beiträge: 442
Registriert: 11. Mai 2004, 18:55
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Hermann »

bond007 hat geschrieben:...Verzweifel schon bei so einem Problem...
Hallo bond007, schau Dir mal SelfLinux an ist sehr hilfreich um Scripte zu schreiben.

Und hier ein Script (habe es getestet, es funktioniert):

#!/bin/sh
#
# Dateien von /pfad_quelle nach /pfad_ziel mit'cp' kopieren und umbenennen.
# Dieses Script muß im Quellverzeichnis ausgeführt werden!
#
# Benutzte Variablen:
#
# quelle = Die Quelldatei
# i = Zähler für die Zieldateien
# ziel = Die Zieldatei
# pfad = der Pfad für die Zieldatei

# hier soll die Zieldatei hin
pfad="/home/user/ziel/"

# Zähler für die Zieldatei auf 0 setzen
i=0

# mit 'for' die Dateinamen in die Variable 'quelle' übernehmen.
for quelle in *.txt

# Anfang der 'for' Schleife.
do

# Zähler für die Zieldatei um 1 erhöhen
i=`expr $i + 1`

# wenn der Zähler kleiner als 10 ist eine 0 davor
if [ $i -lt 10 ]; then
i=0$i; else i=$i; fi

# Zielpfad und Dateiname mit Zähler, Datum und Uhrzeit im Dateinamen.
ziel="$pfad""datei-$i-vom-`date +'%d.%m.%y - %H:%M:%S'`.txt"

# Die Dateien von quelle nach ziel kopieren.
cp "$quelle" "$ziel"

# Ende der 'for' Schleife.
done

Gruß, Hermann
Antworten