Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11492[/thread]

Makefile: Datum errechnen

Leser: 1


<< >> 9 Einträge, 1 Seite
pktm
 2008-03-19 18:50
#107274 #107274
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich würde gerne in mein Makefile eine Prozedur zum Sichern eines Arbeitsstandes eines verzeichnisses einbauen. Mir schwebte da File::Copy::Recursive vor, aber das will der Admin incht installieren.
Stattdessen soll ich scp verwenden.

Dafür bräuchte ich jetzt aber das aktuelle Datum, und zwar im Format YYYY-MM-DD.
Pseudo-
Code: (dl )
scp -r verzeichnis user@server:YYYY-MM-DD verzeichnis


"YYYY-MM-DD verzeichnis" soll der neue Verzeichnisnname werden (muss ich das Leerzeichen escapen?).

Wie aber komme ich an das Datum in der gewünschten Form ran?
Ich könnte mir natürlich ein kleines Perl-Skript schrieben... :)
Aber das wär ja zu einfach.

Kann mir wer aushelfen?

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
renee
 2008-03-19 19:31
#107277 #107277
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das hilft sicherlich weiter: http://www.ubuntu-forum.de/artikel/6254/makefile-d...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
murphy
 2008-03-19 19:39
#107278 #107278
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Code (perl): (dl )
1
2
use POSIX qw/strftime/;
my $ts = strftime("%Y-%m-%d", localtime);

When C++ is your hammer, every problem looks like your thumb.
betterworld
 2008-03-20 00:29
#107286 #107286
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
pktm+2008-03-19 17:50:18--
(muss ich das Leerzeichen escapen?).


Ja, und zwar mindestens doppelt. scp ist da sehr anspruchsvoll.
nepos
 2008-03-20 10:31
#107287 #107287
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Statt perl kannst du das auch mit date machen:
Code: (dl )
datum=`date +'%Y-%m-%d'`

Betterworld: zwei der drei identischen Posts geloescht
Linuxer
 2008-03-21 00:20
#107322 #107322
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
oder noch kürzer:

Code: (dl )
1
2
# %F     full date; same as %Y-%m-%d
datum=`date +%F`
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
pktm
 2008-04-02 17:51
#107749 #107749
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich habe das jetzt so gemacht:
Code: (dl )
1
2
3
4
5
TESTDATE := `date "+%Y-%m-%d"`

target: ;
mkdir ${TESTDATE}\ dir
scp -r dir becker@141.89.100.105:${TESTDATE}\ dir


Aber: Wenn ich das ausführe kommt die Meldung:
Quote
scp: ambiguous target


Was nun? Muss ich da nochmal irgend etwas escapen?

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
ptk
 2008-04-05 23:02
#107928 #107928
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ist das tatsächlich das gesamte Makefile? Es sieht so aus, als ob target vielleicht zweimal existiert. Oder vielleicht stört das Semikolon (was macht das eigentlich?).
pktm
 2008-04-06 00:22
#107930 #107930
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hi!

Nein, das ist nicht das ganze makefile.
Ich habe nachgesehen, es ist kein Abschnitt zweimal da. Wenn ich den scp-Befehl weg lasse und nur mkdir mache funktioniert die Sache auch. Eventuell gibt es ein Problem mit den Backticks bei scp, aber ich habe da recht wenig Ahnung von. Genauso weis ich nciht, was die ; machen. Ich habe das Teil einfach so übernommen.

Die Fehlerquelle scheint soweiso das Leerzeichen zu sein.
Denn ich habe es jetzt so "gelöst", dass ich das Verzeichnis ohne das Leerzeichen erstelle und dann entsprechend umbenenne.

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
<< >> 9 Einträge, 1 Seite



View all threads created 2008-03-19 18:50.