[Megoldva]rsync parancs mentésre --filter="merge $FILTER_FILE"

Fórumok

Már a kezdeteknél, a házi szerveremet ketten használjuk, én és a nejem.
/home/én  /home/ő /home/közös és /home/vegyes

Az én, ő és közös egy egyszerű raid1 tükrön van míg a vegyes (filmek, könyvek stb.) egy külön drive.
A "közös" és a "vegyes" "bind" mount -olva van, így az rscync -nek meg kell mondani, hogy azokat a mount pontokat ne mentse.
A teljes (futásidőben) működő parancssor így fest:

rsync -axqH --delete --filter="merge $FILTER_FILE" /home/ $BACKUPDIR

A filter fájl pedig így néz ki:

-/ /home/én/SMB/közös
-/ /home/én/SMB/vegyes
-/ /home/ő/SMB/KÖZÖS
-/ /home/ő/SMB/VEGYES

Miért kell a "-" után egy "slash"?

Kipróbáltam simán a "-" jelet nem működik, menti az rsync. Keresgéltem a neten, de erre még nem találtam magyarázatot (egyébként a merge sem teljesen világos minek). Úgy tűnik hülyülök, ezt valaha én írtam.

Hozzászólások

Szerkesztve: 2021. 01. 02., szo – 22:05

Minek kell a -/ ? egyláltalán minek kell bármi opció ? Az --exclude a barátod.

Miért könnyebb a változtatásokat egyik szövegfájlba beírni, mint egy másik szövegfájlba?

----------
Were antimatter present, its detection would be quite simple and straightforward. The most rudimentary detector suffices: simply place it down and wait. If the detector disappears, antimatter has been discovered - get out fast!

Ezeket a dolgokat a man -ban is megtalálod. De köszönöm.
Találtam a "filter" használatára és a filter fájlra is példát de ott sincs a "-" után a slash.

https://stackoverflow.com/questions/35364075/using-rsync-filter-to-include-exclude-files/35364435

A fickó ott is arra panaszkodik, hogy úgy nem működik.

* Én egy indián vagyok. Minden indián hazudik.

rsync -axqH --delete --filter="merge $FILTER_FILE" /home/ $BACKUPDIR

Szerkesztve: 2021. 01. 04., h – 09:45

rsync(1) man:

       The following modifiers are accepted after a "+" or "-":

       o      A  /  specifies  that  the  include/exclude  rule  should  be  matched  against  the  absolute pathname of the current item.

 

tehát ha nincs "/" modifier, akkor a filename patterneket a parancs paraméterben megadott source path-hoz viszonyítja, tehát a /home/ -hoz és ugye nyilván "/home/home/én/SMB/közös" az nincs.