Hallo,
auf meiner neuen DS-107+ muss ich unterschiedliches Verhalten von 'cp -al' im Vergleich zu meinem Desktop-Linux feststellen.
Das ist im Rahmen des Test aufgefallen in dem die DS 107+ als Backup für diverse Linux-Rechner konfiguriert und vorbereitet werden soll.
Als Backup -Software ist rsnapshot vorgesehen. Hier im Forum ist einiges positive darüber zu lesen und daher als Lösung ausgewählt worden.
Konkret handelt es sich hierbei um das Verhalten von cp bei bestimmten Permissions für Verzeichnisse
Ein kleines Skript legt ein paar Verzeichnisse mit Inhalt an:
Mit
kann man sehen, was angelegt wurde.
Und nun versucht man z.B. mit
eine Kopie anzulegen.
Unter Gentoo sieht das z.B. so aus:
Auf der DS107+ sieht das aber leider so aus (ausgeführt im Verzeichnis /volume1):
Hier kommen nun das Problem zu Tage:
cp -al verhält sich unerwartet bei bestimmten Verzeichnis-Rechten, bricht ab und liefert 1 als Returnwert.
Dies wiederum führt dazu, dass rsnapshot seinen Backupzyklus ebenfalls abbricht. Das Backup beginnt nun unvollständig zu werden.
Dies tritt vor allem dann auf, wenn der zu sichernde Rechner nicht erreichbar ist, dann tritt bei rsnapshot ein RollbackPlan in Kraft, in dem dann cp -al für die unerreichbaren Hosts ausgeführt wird, aber beim ersten steigt rsnapshot aus, alle anderen unerreichbaren werden nun gar nicht mehr kopiert.
Verwendet wird natürlich gnu-cp:
cp (GNU coreutils) 6.10 auf gentoo
cp (GNU coreutils) 6.12 auf der DS107+
Hier nun die Fragen:
wie bekomme ich cp dazu dass es mir diese Verzeichnisse komplett kopiert, bzw. als link-copy anlegt?
welche Informationen fehlen noch, um das Problem besser eingrenzen zu können?
Was mache ich falsch?
Danke
Grüße
Heinrich
auf meiner neuen DS-107+ muss ich unterschiedliches Verhalten von 'cp -al' im Vergleich zu meinem Desktop-Linux feststellen.
Das ist im Rahmen des Test aufgefallen in dem die DS 107+ als Backup für diverse Linux-Rechner konfiguriert und vorbereitet werden soll.
Als Backup -Software ist rsnapshot vorgesehen. Hier im Forum ist einiges positive darüber zu lesen und daher als Lösung ausgewählt worden.
Konkret handelt es sich hierbei um das Verhalten von cp bei bestimmten Permissions für Verzeichnisse
Ein kleines Skript legt ein paar Verzeichnisse mit Inhalt an:
Rich (BBCode):
#!/bin/sh
DIR=foo
rm -fr ${DIR}
mkdir ${DIR}
cd ${DIR}
mkdir _________
mkdir __x______
mkdir r________
mkdir r_x______
mkdir rwx______
chmod 000 _________
chmod 100 __x______
chmod 400 r________
chmod 500 r_x______
chmod 700 rwx______
cd ..
find ${DIR} -name "*_*" -type d -exec cp ${0} {}/bar \;
# -- file
Mit
Rich (BBCode):
ls -l foo/*
Und nun versucht man z.B. mit
Rich (BBCode):
cp -al foo foofoo
Unter Gentoo sieht das z.B. so aus:
Rich (BBCode):
# cp -alv foo foofoo
`foo' -> `foofoo'
`foo/_________' -> `foofoo/_________'
`foo/_________/bar' -> `foofoo/_________/bar'
`foo/__x______' -> `foofoo/__x______'
`foo/__x______/bar' -> `foofoo/__x______/bar'
`foo/r________' -> `foofoo/r________'
`foo/r________/bar' -> `foofoo/r________/bar'
`foo/r_x______' -> `foofoo/r_x______'
`foo/r_x______/bar' -> `foofoo/r_x______/bar'
`foo/rwx______' -> `foofoo/rwx______'
`foo/rwx______/bar' -> `foofoo/rwx______/bar'
# echo $?
0
Auf der DS107+ sieht das aber leider so aus (ausgeführt im Verzeichnis /volume1):
Rich (BBCode):
# cp -alv foo foofoo
`foo' -> `foofoo'
`foo/rwx______' -> `foofoo/rwx______'
`foo/rwx______/bar' -> `foofoo/rwx______/bar'
cp: setting permissions for `foofoo/r_x______': Function not implemented
cp: setting permissions for `foofoo/__x______': Function not implemented
cp: setting permissions for `foofoo/r________': Function not implemented
cp: setting permissions for `foofoo/_________': Function not implemented
# echo $?
1
Hier kommen nun das Problem zu Tage:
cp -al verhält sich unerwartet bei bestimmten Verzeichnis-Rechten, bricht ab und liefert 1 als Returnwert.
Dies wiederum führt dazu, dass rsnapshot seinen Backupzyklus ebenfalls abbricht. Das Backup beginnt nun unvollständig zu werden.
Dies tritt vor allem dann auf, wenn der zu sichernde Rechner nicht erreichbar ist, dann tritt bei rsnapshot ein RollbackPlan in Kraft, in dem dann cp -al für die unerreichbaren Hosts ausgeführt wird, aber beim ersten steigt rsnapshot aus, alle anderen unerreichbaren werden nun gar nicht mehr kopiert.
Verwendet wird natürlich gnu-cp:
cp (GNU coreutils) 6.10 auf gentoo
cp (GNU coreutils) 6.12 auf der DS107+
Hier nun die Fragen:
wie bekomme ich cp dazu dass es mir diese Verzeichnisse komplett kopiert, bzw. als link-copy anlegt?
welche Informationen fehlen noch, um das Problem besser eingrenzen zu können?
Was mache ich falsch?
Danke
Grüße
Heinrich