rsync Problem

Cool Master

Fleet Admiral
Registriert
Dez. 2005
Beiträge
40.139
Moin,

also ich habe ein kleines Problem. Ich werkel gerade an einem Script das ein Backup starten soll.

Hier mal der Code dazu:

Code:
#!/bin/sh

date '+ %d/%m/%y%----Zeit:%H:%M:%S'

rsync -aP --link-dest=$HOME/Backups/current /Users/michael/Desktop/ /Users/michael/Downloads/backup-$date
#rm -f $HOME/Backups/current
#ln -s back-$date $HOME/Backups/current

So es funktioniert super mit einem fehler. Er legt mir nur als Backupverzeichnis "backup-" an ohne das Datum und Uhrzeit an was liegt das?

Als OS nutze ich aktuell OS X 10.6.8 allerdings soll es auch auf Linux lauffähigsein.
 
Du führst in der dritten Zeile den Befehl date zwar aus, aber weist ihm nicht $date zu.
 
Ok hatte das = vergssen nun kommt:

date: illegal time format was aber an OSX liegen könnte.
 
das Zauberwort hier lautet: "Befehlssubstitution"

versuchs mal so:
Code:
rsync -aP --link-dest=$HOME/Backups/current /Users/michael/Desktop/ /Users/michael/Downloads/backup-`date '+ %d/%m/%y%----Zeit:%H:%M:%S'`

oder

Code:
rsync -aP --link-dest=$HOME/Backups/current /Users/michael/Desktop/ /Users/michael/Downloads/backup-$(date '+ %d/%m/%y%----Zeit:%H:%M:%S')

sollte beides gehen sind nur unterschiedliche notationen.
ich weiß nur nicht ob es auf Mac OS X ne anständige shell gibt (sprich bash)
 
Zuletzt bearbeitet:
Hi.

So sollte es gehen:

Code:
$ date=`date '+ %d/%m/%y----Zeit:%H:%M:%S'`
$ echo $date
25/04/12----Zeit:14:55:20

Zuweisung hat gefehlt und ein '%' war zuviel drinnen

Gruesse
 
Ich würde dir noch raten, da es ein Backup Script ist, du deinen "date" Befehl leicht änderst, dann hast du es später mit dem sortieren leichter :)

Code:
date=`date '+ %y/%m/%d----Zeit:%H:%M:%S'`
 
@blackst0rm und @da_rinkes

geht beides nicht ich saug mal eben ne Linux Live CD und erstelle eine VM :)
 
Warum sollte das nicht gehen? Gibt es evlt. eine Fehlermeldung?

Code:
$ date=`date '+ %d/%m/%y----Zeit:%H:%M:%S'`
$ echo $date
25/04/12----Zeit:15:02:31
$ uname -a
Darwin XXXXXX 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
$ echo $SHELL
/bin/bash

Auf Linux und MacOSX getestet.


Edit:

Grade nochmal geguckt.
Problem ist dein Format-String des date Kommandos.
Du hast da ein Space nach dem '+' drinne, was ganz schlecht ist.

Code:
#!/bin/sh

date=`date '+%d/%m/%y%----Zeit:%H:%M:%S'`

cmd="rsync -aP --link-dest=$HOME/Backups/current /Users/michael/Desktop/ /Users/michael/Downloads/backup-$date"

echo "CMD: $cmd"
 
Zuletzt bearbeitet:
Ok ich habe nun:

Code:
#!/bin/sh

$date = '+%d/%m/%y%----Zeit:%H:%M:%S'

rsync -aP --link-dest=$HOME/Backups/current /Users/michael/Desktop/ /Users/michael/Downloads/backup-$date
Bekomme keine Fehlermeldung aber mein Ordner nennt sich immer noch nur "backup-".

Ich habe das Gefühl das er die ":" nicht mag. Aber da würde er mir ja ein Fehler geben von wegen Illigaler Char oder in der art oder?
 
Du musst schon genau gucken.

Ich hoffe jetzt wirds klar ;)

Code:
    #!/bin/sh
     
    date=`date '+%d/%m/%y%----Zeit:%H:%M:%S'`
     
    rsync -aP --link-dest=$HOME/Backups/current /Users/michael/Desktop/ /Users/michael/Downloads/backup-$date
 
Cool Master schrieb:
Ok ich habe nun:

Code:
#!/bin/sh

$date = '+%d/%m/%y%----Zeit:%H:%M:%S'

rsync -aP --link-dest=$HOME/Backups/current /Users/michael/Desktop/ /Users/michael/Downloads/backup-$date
Bekomme keine Fehlermeldung aber mein Ordner nennt sich immer noch nur "backup-".

Ich habe das Gefühl das er die ":" nicht mag. Aber da würde er mir ja ein Fehler geben von wegen Illigaler Char oder in der art oder?

das muss dann ja auch so aussehen

Code:
date = '+%d/%m/%y----Zeit:%H:%M:%S'
 
Langer Tag heute schon :D Ich bin blind ^_^

Ok nun habe ich auch ein Fehler...

Code:
building file list ... 
559 files to consider
rsync: mkdir "/Users/michael/Downloads/backup-25/04/12----Zeit:15:26:03" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at /SourceCache/rsync/rsync-40/rsync/main.c(544) [receiver=2.6.9]
rsync: connection unexpectedly closed (8 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-40/rsync/io.c(452) [sender=2.6.9]

OK Fehler gefunden es waren tatsächlich die ":".

Habe es nun mit:

Code:
date=`date "+%Y-%m-%dT%H_%M_%S"`

ausgetauscht und es geht :)
 
Zuletzt bearbeitet:
Zurück
Oben