Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

17.05.2008, 07:47

rsync löscht Ordner nicht! Sondern hinterlässt diese lehr!

Ja wie in der Überschrift beschriben hinterlässt rsync bei mir die Ordner lehr und ich frage mich wie ich den Befehl hinbekomme das er einen links gelöschten Ordner auch rechts löscht eben links mit rechts synchronisiert?

Mein Befehl:
rsync -avb --delete /daten /media/sd$a/

Achtung etwas in folgender art!
find /media/sd$a -depth -type d -empty -exec rmdir '{}' \;

Ist leider keine Lösung da in /daten mein home verzeichnis reingelinkt ist und Kmail total geil auf seine lehren Ordner ist! Somit würde mir der obere Befehl mein Kmail zerschießen!

Weiß jemand zufällig wie man den Befehl anpasst damit links tatsächlich zu 1000% das selbe ist wie Rechts?
Phenom X4 9550
Gigabyte GA-MA770-UD3
Gentoo 64 Bit Stable
8 GB Ram
Audigy 2 Zs
Geforce 9800 GTX
VDR
Hauppauge Nexus-S Rev 2.2 + 2.1

Lenovo G550 T4300
Gentoo 64 Bit Stable
4 GB Ram

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cyrix1983« (17.05.2008, 12:35)


2

17.05.2008, 10:35

Mit vlt.

Quellcode

1
2
3
4
# man rsync
...
 -m, --prune-empty-dirs      prune empty directory chains from file-list
...


Als auch ein

Quellcode

1
2
3
...
-I, --ignore-times          don't skip files that match size and time
...

Das sollte dann wirklich 1000% sein.
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

3

17.05.2008, 11:29

Löst das Problem keineswegs! Denn jetzt werden Lehre Ordner die in x vorhanden sind nicht mehr nach y kopiert! Das soll er aber tun! Er soll keine gelöschten ordner mit ~ dateien vollhauen und stehen lassen

Inhalt von a zu beginn

Quellcode

1
2
3
4
5
6
7
8
AMD3700 daten # ls -R a
a:
3  Neuer Ordner

a/3:
1.txt

a/Neuer Ordner:

Inhalt von b zu beginn [lehr]

Quellcode

1
2
AMD3700 daten # ls -R b
b:

rsync Vorgang!

Quellcode

1
2
3
4
5
6
7
AMD3700 daten # rsync -avb -m --delete /daten/a/ /daten/b/
building file list ... done
3/
3/1.txt

sent 188 bytes  received 48 bytes  472.00 bytes/sec
total size is 2  speedup is 0.01

Inhalt von a nach rsync

Quellcode

1
2
3
4
5
6
7
8
AMD3700 daten # ls -R a
a:
3  Neuer Ordner

a/3:
1.txt

a/Neuer Ordner:

Inhalt von b nach Rsync [alles ok]

Quellcode

1
2
3
4
5
6
AMD3700 daten # ls -R b
b:
3

b/3:
1.txt

Ordner 3 in a umbennen in 4

Quellcode

1
AMD3700 daten # mv a/3/ a/4

Neuer Rsync vorgang bei dem Ordner 3 nicht vorhanden ist, da umbenannt in 4

Quellcode

1
2
3
4
5
6
7
8
AMD3700 daten # rsync -avb -m --delete /daten/a/ /daten/b/
building file list ... done
deleting 3/1.txt
4/
4/1.txt

sent 184 bytes  received 48 bytes  464.00 bytes/sec
total size is 2  speedup is 0.01

Inhalt von a

Quellcode

1
2
3
4
5
6
7
8
AMD3700 daten # ls -R a
a:
4  Neuer Ordner

a/4:
1.txt

a/Neuer Ordner:

Inhalt von b

Quellcode

1
2
3
4
5
6
7
8
9
AMD3700 daten # ls -R b
b:
3  4

b/3:
1.txt~

b/4:
1.txt


So also ordner 3 wurde in b nicht gelöscht sondern die datei 1.txt wurde umbenannt in 1.txt! Wiederum gibt es den Ordner 3 im a Ordner gar nicht somit warum ist er in b?
Phenom X4 9550
Gigabyte GA-MA770-UD3
Gentoo 64 Bit Stable
8 GB Ram
Audigy 2 Zs
Geforce 9800 GTX
VDR
Hauppauge Nexus-S Rev 2.2 + 2.1

Lenovo G550 T4300
Gentoo 64 Bit Stable
4 GB Ram

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cyrix1983« (17.05.2008, 11:39)


4

17.05.2008, 11:37

Sorry ... stimmt. -m heißt ja, das er leer-verzeichnisse aus der Liste rausnimmt.

Mit "-I" auch nix neues?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

5

17.05.2008, 11:48

Quellcode

1
-l, --links                 copy symlinks as symlinks


ist in diesem avb enthalten! Wenn ich richtig gelesen habe!

Wobei bei mir symlinks als symlinks kopiert werden hab nur das Problem mit den Ordnern siehe 2. Posting von mir!
Phenom X4 9550
Gigabyte GA-MA770-UD3
Gentoo 64 Bit Stable
8 GB Ram
Audigy 2 Zs
Geforce 9800 GTX
VDR
Hauppauge Nexus-S Rev 2.2 + 2.1

Lenovo G550 T4300
Gentoo 64 Bit Stable
4 GB Ram

6

17.05.2008, 11:52

Nicht "-l" also "minus-eellll" sonder "-I" also "minus-iiiiihhh"

Quellcode

1
-I, --ignore-times          don't skip files that match size and time
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

7

17.05.2008, 11:55

Nicht "-l" also "minus-eellll" sonder "-I" also "minus-iiiiihhh"


hee dyle,


sowas weiß man aber doch, das man das dazuschreiben muss. ist doch auch bei fdisk -l (kleines L) so :D :D :D


Viele Grüße

8

17.05.2008, 11:57

Hab eben den Test von oben nochmals durchgemacht mit

Quellcode

1
rsync -avb -I --delete /daten/a/ /daten/b/


Es bewirkt keine Veränderung!
Phenom X4 9550
Gigabyte GA-MA770-UD3
Gentoo 64 Bit Stable
8 GB Ram
Audigy 2 Zs
Geforce 9800 GTX
VDR
Hauppauge Nexus-S Rev 2.2 + 2.1

Lenovo G550 T4300
Gentoo 64 Bit Stable
4 GB Ram

9

17.05.2008, 12:09

Hallo,

versuch es mal mit --prune-empty-dirs


Hier ist noch nee interessante Seite zu rsync.

http://www.samba.org/ftp/rsync/rsync.html

10

17.05.2008, 12:23

Quellcode

1
-m, --prune-empty-dirs      prune empty directory chains from file-list


@Plane shift -> schau dir mal mein 1. und 2. Posting an und von @dyle das aller erste!

-m oder auch --prune-empty-dirs würde vorhandene Ordner in a die lehr sind, nicht nach b kopieren! Sonst konnte ich ja auch einfach am schluss folgendes machen!

Quellcode

1
find /media/ -depth -type d -empty -exec rmdir '{}' \;


würde zumindest alle Probleme lösen, bis auf das dann alle Lehren ordner die in a vorhanden sind in b nicht mehr vorhanden wären
Phenom X4 9550
Gigabyte GA-MA770-UD3
Gentoo 64 Bit Stable
8 GB Ram
Audigy 2 Zs
Geforce 9800 GTX
VDR
Hauppauge Nexus-S Rev 2.2 + 2.1

Lenovo G550 T4300
Gentoo 64 Bit Stable
4 GB Ram

11

17.05.2008, 12:34

Ist vielleicht nicht die sauberste Lösung aber sie funktioniert!


Wurde zum schluss editiert 17.05.2008 23:45 Uhr

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh
#####################    Säuberungs Blog    #################################
find /daten -iname *~ -delete
find /daten -iname '#*#' -delete
####################  Eigenes Säuberungsskript  ############################
clean-small
########################     abfrage Blog    ################################
echo "Wo kommt das Backup hin"
echo "Beispiele wären"
echo "a1"
echo "b1"
read a
####################### Skript zum einhängen meiner Verschl. Plate ###########
sd$a
#########################   Befehls Blog    ###################################
# Setzt die Rechte nach meinen Wünschen
/daten/Originale/chmod

#Rsync Backup von /daten nach /media/sd* je nach obiger eingabe
rsync -av --delete /daten /media/sd$a/

# Setzt die Rechte nach meinen Wünschen -> Sicherheitshalber nochmal
/daten/Originale/chmod
##############################################################################
#Skript zum aushängen der Verschlüsselten Platte
usd$a
echo ""
echo ""
echo "Platte wurde ausgehängt sync ist fertig"
##########################      Ende        ####################################


Erklärung für den find Befehl!
beim ersten rsync durchgang werden in den Ordnern die auf /daten gelöscht wurden, somit nicht vorhanden sind, in /media/sdx alle datei von * in *~ umbenannt!
der find befehl killt nun alle *~ dateien somit sind die Ordner die es auf /daten gar nicht mehr gib auf der /media/sdx platte tatsächlich lehr
der zweite rsync vorgang löscht die Ordner dann schließlich!

Für verbesserung bin ich offen!
Phenom X4 9550
Gigabyte GA-MA770-UD3
Gentoo 64 Bit Stable
8 GB Ram
Audigy 2 Zs
Geforce 9800 GTX
VDR
Hauppauge Nexus-S Rev 2.2 + 2.1

Lenovo G550 T4300
Gentoo 64 Bit Stable
4 GB Ram

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cyrix1983« (17.05.2008, 23:44)


12

17.05.2008, 14:04

Ich habe mich noch ein wenig mit rsync gespielt.

Also ich habe deine Probleme nicht!

Erklärung: Ich habe ein Verzeichnis a, in welchem Verzeichnisse "one" und "two" sind; sowie darin einige files.

Quellcode

1
2
3
4
5
6
7
8
9
$ find .
.
./a
./a/two
./a/two/two.file
./a/one
./a/one/one.file
./a/one/one-one
./a/one/one-one/one-one.file


Ich erzeuge ein neues, leeres Verzeichnis "three" und mach ein rsync a-->b

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ mkdir a/three
$ rsync -av --delete a/ b/
building file list ... done
created directory b
./
one/
one/one.file
one/one-one/
one/one-one/one-one.file
three/
two/
two/two.file

sent 359 bytes  received 116 bytes  950.00 bytes/sec
total size is 0  speedup is 0.00


Ein Ausgabe von b:

Quellcode

1
2
3
4
5
6
7
8
9
$ find b
b
b/two
b/two/two.file
b/one
b/one/one.file
b/one/one-one
b/one/one-one/one-one.file
b/three
Alles bestens!

Jetzt lösche ich das Verzeichnis "three" wieder und synce erneut:

Quellcode

1
2
3
4
5
6
7
8
$ rmdir a/three
$ rsync -av --delete a/ b/
building file list ... done
deleting three/
./

sent 194 bytes  received 26 bytes  440.00 bytes/sec
total size is 0  speedup is 0.00


Jetzt guck ich in b rein:

Quellcode

1
2
3
4
5
6
7
8
$ find b
b
b/two
b/two/two.file
b/one
b/one/one.file
b/one/one-one
b/one/one-one/one-one.file

PASST! Verzeichnis weg!

ABER: Wenn natürlich ein hidden-file darinnen ist, dann wird das Verzeichnis aus nicht gelöscht! Das ist doch ganz klar. Weil: Verzeichnis nicht leer! Hast du gecheckt, ob da auch sicher keine hidden files sind? Bzw. ob vielleicht nicht etwa irgendjemand die verzeichnisse/files gerade offen hat (lsof), dann geht natürlich auch kein Löschen.

IMHO: funktioniert rsync schon richtig und gut. DEIN Problem liegt an was anderem.
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

13

17.05.2008, 21:25

@dyle du hast in deinem Test einen Ordner gelöscht der die ganze Zeit lehr war hättest du im letzten teil statt ../three , ../one oder ../two [da da dateien drin sind] gelöscht so wäre der Ordner one bzw two in b erhalten geblieben!

dein versuch einen schon immer lehren Ordner zu syncen und dann löschen das Funktioniert bei mir auch! Versuch bitte mal einen Ordner der mit dateien gefüllt ist zu syncen dann zu löschen und dann nochmal zu syncen dann ist er ja in a nicht mehr vorhanden da du ihn gelöscht hat und in b bleibt er und die dateien die vor dem löschen drin waren werde in b in *~ umbenannt!
Phenom X4 9550
Gigabyte GA-MA770-UD3
Gentoo 64 Bit Stable
8 GB Ram
Audigy 2 Zs
Geforce 9800 GTX
VDR
Hauppauge Nexus-S Rev 2.2 + 2.1

Lenovo G550 T4300
Gentoo 64 Bit Stable
4 GB Ram

14

17.05.2008, 21:33

Falsch!
Lösche a/one mit Dateien und Unterverzeichnissen ...

Quellcode

1
2
3
4
5
6
7
8
9
10
11
$ rm -rdf a/one
$ rsync -av --delete a/ b/
building file list ... done
deleting one/one-one/one-one.file
deleting one/one-one/
deleting one/one.file
deleting one/
./

sent 161 bytes  received 26 bytes  374.00 bytes/sec
total size is 0  speedup is 0.00


und dann:

Quellcode

1
2
3
4
5
6
$ find b
b
b/two
b/two/two.file
b/three
b/three/.a_hidden_file


Funkt tadellos!

PS: leer ist nicht lehr ... achte mal auf deine Rechtschreibung
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

15

17.05.2008, 21:49

ok Fehler gefunden! Der Fehler liegt in -avb! Wenn ich -av verwende funktionierts auch einwandfrei! Danke @dyle!

Wobei dieses b habs eben nachgelesen für backups steht! Kein wunder das dies *~ dateien erzeugt werden!

Danke nochmals läuft jetzt alles einwandfrei und ich passe nun mein Shell skript wieder sauber an!
Phenom X4 9550
Gigabyte GA-MA770-UD3
Gentoo 64 Bit Stable
8 GB Ram
Audigy 2 Zs
Geforce 9800 GTX
VDR
Hauppauge Nexus-S Rev 2.2 + 2.1

Lenovo G550 T4300
Gentoo 64 Bit Stable
4 GB Ram