Archiv verlassen und diese Seite im Standarddesign anzeigen : samba/cups/pdf-server
Hallo,
ich habe einen SAMBA/CUPS Server der aus einer ps eine pdf Datei macht.
Leider wird aber diese Datei immer überschrieben und ich würde gern
den Namen durch z.B. eine Zeit ergänzen, was aber nicht funktioniert.
print command = rm /tmp/PDF/%s,pdf;ps2pdf %s /tmp/PDF/%U.%T.pdf; rm %s
%T erzeugt einen Namen mit / , was wohl als Pfad gedeutet wird.
Hat jemand eine Idee dazu?
Gruss
Sven
Hi!
Versuche vielleicht mal den Zeitstempel über "date" (man date für die Optionen) reinzubekommen.
mit touch funktioniert's mal:
linux:/var/test # touch test`date +%d-%m-%T`.txt (Backticks, kein Hochkomma!)
linux:/var/test # ls
. .. test21-10-17:11:34.txt
linux:/var/test #
In deinem Falle:
print command = rm /tmp/PDF/%s,pdf;ps2pdf %s /tmp/PDF/%U.`date +%d-%m-%T`.pdf; rm %s
Grüße
Manx
danke, soweit ich weis, wird aber in der print zeile nicht wie in einer shell interpretier.
oder ich rufe einfach ein script auf, mal testen ob das geht.
Original geschrieben von Sonny
danke, soweit ich weis, wird aber in der print zeile nicht wie in einer shell interpretier.
oder ich rufe einfach ein script auf, mal testen ob das geht.
'print command' wird per system() in einer shell ausgeführt, also sollte manx' version funktionieren.
ich persönlich würde die befehle per '&&' veketten und keine backticks verwenden. ausserdem solltest du kritische filenamen, die u.U. leerzeichen enthalten könnten, in anführungszeichen setzen.
-j
print command' wird per system() in einer shell ausgeführt, also sollte manx' version funktionieren.
# verstehe ich nicht. was ist manx?
ich persönlich würde die befehle per '&&' veketten und keine backticks verwenden. ausserdem solltest du kritische filenamen, die u.U. leerzeichen enthalten könnten, in anführungszeichen setzen.
also so:
rm date & ps2pdf datei
oder wie? was ist der Vorteil?
print command' wird per system() in einer shell ausgeführt, also sollte manx' version funktionieren.
# verstehe ich nicht. was ist manx?
das ist das nette wesen, das zuerst auf deine frage geantwortet hat.
rm date & ps2pdf datei
oder wie? was ist der Vorteil?
eher so:
rm date && ps2pdf datei
ps2pdf wird nur ausgeführt, wenn 'rm datei' keine fehler produziert hat. besseres beispiel ist:
ps2pdf bla.ps bla.pdf && cp bla.pdf /archive
so wird nur kopiert, wenn auch wirklich ein pdf erstellt wurde. mit ';' würde immer kopiert werden, egal ob es was zum kopieren gibt oder nicht.
da fällt mir ein, es könnte allerdings auch sein, dass du immer löschen willst (sozusagen als 'aufräumer'), dann ist ';' zum verketten besser.
-j
Ich will tatsächlich ausräumen......danke für die Erklärung.
Warum würdest du keine backticks verwenden?
Ohne den Dingern wird doch nichts ausgeführt, oder?
Original geschrieben von Sonny
Ich will tatsächlich ausräumen......danke für die Erklärung.
Warum würdest du keine backticks verwenden?
Ohne den Dingern wird doch nichts ausgeführt, oder?
ich verwende lieber $() statt ``
backticks sind old-style (backslash wird speziell behandelt wenn danach ein $, ` oder \ folgt).
den ganzen schmus gibts bei dem neueren und eindeutigeren $() nicht mehr. ausserdem haben manche terminals probleme mit backticks.
-j
Danke, wieder was gelernt.
http://www.linuxforen.de/forums/showthread.php?s=&threadid=31311
Ralf
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.