[Projekt] rsync -Alternative dateibasierte Datensicherung

Status
Für weitere Antworten geschlossen.

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Ach man stimmt, so einfach kann es ja sein.

Einfach grep mit invert oh man.


So klappt es echt 1a..

find /.. -name "homes" | grep -v "@Recycle"


DANKE !!!
 
Zuletzt bearbeitet:

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Probier mal

find / -name 'homes' ! -name '@Recycle'
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Ja unter DSM 6 kein Problem aber unter DSM 5.2 geht es nicht. Jedenfalls nicht ohne ipkg und findutils.

Aber die Methode mit find + grep sollte langen.
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Unter DSM 5.2 funktioniert hier folgendes, was zumindest für den skizzierten Fall ausreichen sollte:

$ for i in a b c @Recycle ; do mkdir -p /tmp/test/"$i" ; done
$ /usr/bin/find /tmp/test/ -name '@Recycle'
/tmp/test/@Recycle
$ /usr/bin/find /tmp/test/ ! -name '@Recycle'
/tmp/test/
/tmp/test/c
/tmp/test/b
/tmp/test/a
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Geht evtl nur auf Intel Modellen?

Bei meiner 212j klappt das definitiv nicht.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Ich habe manchmal folgende Variablen die sich Unterscheiden:

/volumeUSB2/usbshare/Abc
/volumeUSB2/usbshare/Abc/volume3/Xyz
/volume1/Def/Xyz
/Abc/volume4/Xyz

Und es soll gecheckt werden ob am Anfang
/volumeUSBX/usbshare, /volumeSATA/satashare oder /volumeX steht und das löschen,
sodass ich folgendes Ausgeben kann:

/Abc
/Abc/volume3/Xyz
/Def/Xyz
/Abc/volume4/Xyz



Bislang habe ich es anderswo so gelöst allerdings kann ich da nicht nur an erste
Stelle checken oder gibt es hier eine Möglichkeit das mit ^ zu lösen?

SF=${SF#*/volume????/*share}
SF=${SF#*/volume?}


Jetzt dachte ich probier es mit sed, alleerdings löscht er mir da alles.


for SF in $SFA; do

SF=$(echo $SF | sed 's#^/volume.*\/.*share##')
SF=$(echo $SF | sed 's#^/volume.?/##')


done

Kennt jemand mal eine gute Seite wo das mit sed auch
einigermaßen leicht verständlich erklärt wird?



*EDIT*

ach es kann so einfach sein, ganz in Ruhe hingesetzt und 5 Minuten alles gelesen.

Mal genau die regulären Ausdrücke angeschaut und es geht.

SFA=$(echo $SF | sed 's#^.volume.....*share##')
SFA=$(echo $SFA | sed 's#^.volume.##')
 
Zuletzt bearbeitet:

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Unser Projekt wurde jetzt weiterentwickelt und bietet zusätzliche Features inkl. eigenes SPK dank Tommes.

Mehr Infos:
Ultimate Backup
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat