Adică să rsync unele fișiere dintr-un arbore de subdirectoare la dir1
.
eu folosesc
[dir1]$ rsync --itemize-changes --recursive --update --times --include-from="rsync_include.dat" --exclude="*" --dry-run ./ remote:~/dir1/
Regulile sunt următoarele, în această ordine.
- Includeți subdir-uri
dir11
și dir12
la nivelul 1.
- Excludeți restul la nivelul 1.
- În
dir11
și dir12
, includeți toate fișierele *.cc
, *.TXT
în subarbori.
- În
dir11
și dir12
, excludeți toate celelalte fișiere.
- În
dir11
și dir12
, includ niște subarbori specifici (la diferite niveluri posibil), cu tot conținutul lor.
Nu dau unghiul în cap cu combinațiile adecvate de asteriscuri simple, duble și triple, semne plus/minus, bare oblice inverse și ordinea regulilor în rsync_include.dat
.
Care ar fi conținutul corect?
Printre tot ce am încercat, postez mai jos starea actuală a mea rsync_include.dat
.
Printre altele, nu se potrivea cu fișierul classes/src/TEST/classes_test.cc
, care a avut o dată ulterioară în ./
decât în remote:~/dir1/
, și de aceea vreau să fie rsync
ed.
În acest caz, caut un model care să se potrivească cu acel fișier fără a fi nevoie să intru + classes/src/TEST/*.cc
, deoarece ar putea fi altele *.cc
la diferite adâncimi și ramuri.
+ cursuri/
+ dezinfectante/
- ***/.cproject
+ **/*.cc
+ ***/*.cc
+ **/*.cpp
+ **/*.dat
- */
-**/