рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ
рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рддрдХрдиреАрдХ рдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рдЧрд░рдорд╛рдЧрд░рдо рдмрд╣рд╕ рдЫреЗрдбрд╝ рджреАред рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рд╕рдВрджреЗрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдмреИрд╢ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред рдЖрдкрдХреА рд░рдЪрдирд╛рддреНрдордХ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЗрдЦ рдкрд╛рдардХреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИ, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╣рдо рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдХреНрдпрд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛, рдФрд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде, рд╣рдо рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рддреЗ рд╣реБрдП рдкреВрд░рдХ рд╣реИрдВред
рддреЛ, рдЪрд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рджреВрд╕рд░реЗ: dir-рд╕рд┐рдВрдХ рд╕реЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдХреНрд▓реЛрдирд┐рдВрдЧ рд╣реИ, рдФрд░ рдирдХрд▓ рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдВрддрд░ рд╣реИрдВ:
- рд╕рдорд╛рди рджрд┐рдирд╛рдВрдХ / рд╕рдордп рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВ (рдпрд╣ -u рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде cp рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ)
- рдЧрдВрддрд╡реНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рд╕рднреА рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдЬреЛ рд╕реНрд░реЛрдд рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рди рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ, рдмрд▓реНрдХрд┐ рджреВрд░рд╕реНрде рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рднреА рдбреЗрдЯрд╛ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреА рд╣реИ
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд░рд┐рд╕реАрд╡рд░ рдореЗрдВ рд╣рдореЗрдВ рд╡рд╣реА рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рд╕реНрд░реЛрдд рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдмрд╕реЗ рдЗрд╖реНрдЯрддрдо рддрд░реАрдХреЗ рд╕реЗ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЕрддреНрдпрдВрдд рдЙрдкрдпреЛрдЧреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд╕рдордп-рд╕рдордп рдкрд░ рдмрд╛рд╣рд░реА рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдмрдЪрдд рд╣реЛрддреА рд╣реИред рдХреЗрд╡рд▓ рдирдпрд╛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЬреЛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╕реНрд░реЛрдд рдореЗрдВ рд╣рдЯрд╛рдП рдЧрдП рдлрд╛рдЗрд▓реЗрдВ рд░рд┐рд╕реАрд╡рд░ рдореЗрдВ рднреА рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░, рд╕реЗрд▓рд┐рдирдХреНрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдлрд╝рд╛рдЗрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рднреА рдХреЙрдкреА рдХреА рдЬрд╛рддреА рд╣реИрдВред
рджрд░рдЕрд╕рд▓, рдЬреИрд╕рд╛ рдХрд┐ рдХрдИ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИ, рд╣рдо рдкрд╣рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдмрдирд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди rsync рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИред рдпрд╣рд╛рдВ рдХрд╛рд░реНрдп рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде rsync рдХреЛ рд▓рдкреЗрдЯрдирд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛред рднрд▓рд╛, рдХреМрди рдРрд╕рд╛ рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ ?:
rsync -rlptgoDvEAH --delete --delete-рдЕрд▓рд╛рд╡рд╛ -super --force
--progress --log-file = / var / log / rs-total.txt --log-file-format =% o% i% i% b% b
/ data / src / proj / perl / my / web / company / roga-i-kopyta /
/ data / save / proj / perl / my / web / company / roga-i-kopyta /
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 2 рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ - рд╕реНрд░реЛрдд рдФрд░ рд░рд┐рд╕реАрд╡рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрд░реНрдерд╛рддреН, рдХреИрд╕реЗ, рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рднреА рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╣реА рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ рдХрд┐ рдЪрд╛рдмрд┐рдпрд╛рдБ рдХрд╣реАрдВ рднреА рдбрд╛рд▓реА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ, рддрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдирдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдмрд╣рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
dir-sync -key1 src-sri -key2 dest-dir key3
рдкрд╣рд▓реЗ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЖрдкрдХреЛ рдПрдХ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдХреНрд░рдо рдореЗрдВ рдФрд░ рджреЛ рд░реВрдкреЛрдВ рдореЗрдВ рдЪрд╛рдмрд┐рдпрд╛рдБ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ:
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдореИрдВрдиреЗ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЬреЛрдбрд╝рд╛ рд╣реИ рдЬрд┐рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреНрд░реБрдЯрд┐рдкреВрд░реНрдгрддрд╛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред рдЖрдк рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рд╛рдЗрд▓ (рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ) рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░реЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд▓рд┐рдкрд┐ рдХреЛрдб рдХреА рд╕реНрдкрд╖реНрдЯрддрд╛, рдкрдардиреАрдпрддрд╛ рдФрд░ рд╕рд░рд▓рддрд╛ рдХреЛ рд╕рд░рд▓рддрд╛ рд╕реЗ рдХреИрд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдм рд╣рдо рдЕрдкрдиреА рдХреНрд▓реЛрдирд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣ рдЪрд╛рд╣рд┐рдП:
- рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдорджрдж рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред
- рдкреБрд╖реНрдЯрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рджреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рд╣рд╛рдБ! рдкрдЯрдХрдерд╛ рд╕реБрдкрд░ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╣реИ, рдФрд░ рдпрд╣ рдмрд╛рдд рдЕрддрд┐рд░реЗрдХрдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред
- рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, -рдЗрд╕ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреБрд╖реНрдЯрд┐ рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЕрдиреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рдЖрдХрд░реНрд╖рдг рд╣реИ:
- рдпрджрд┐ рдЖрдк -i рд╕реНрд╡рд┐рдЪ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╣реЛ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╕рдВрднрд╡рддрдГ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИред рдореИрдВ рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдХрднреА-рдХрднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд╛рд╕ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рддреЛ рдРрд╕реЗ рдЕрд╡рд╕рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рд░ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдо рдпрд╣ рд╣реИ рдХрд┐ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдРрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдиреБрднрд╡рд╣реАрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЦреИрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ:
- рдореЛрдб рдХрд╛ рдЪрдпрди: рд╕рдЯреАрдХ рдХреЙрдкреА / рдЕрдкрдбреЗрдЯ
- рдкреГрд╖реНрдарднреВрдорд┐ рдореЛрдб рдЪрд╛рд▓реВ рдХрд░реЗрдВ (nohup рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)
- рдПрдХ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛
- рдкрд░рд┐рдгрд╛рдореА rsync рдЖрджреЗрд╢ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдФрд░ рдирд╣реАрдВ)
рдкрд╣рд▓реА рдмрд╛рд░, рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗред рдореИрдВ rsync рдФрд░ nohup рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ - рдмрд╕ рдЙрдирдХреЗ рдЖрджрдореА рдХреЛ рдкрдврд╝реЗрдВред
рд╣рдо рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:
- -рд╣рд╛рдБ: рдкреБрд╖реНрдЯрд┐ рдЕрдиреБрд░реЛрдз рдХреЛ рджрдмрд╛рдПрдВ
- -рдЖрдИ | -рдПрдХреНрдЯрд┐рд╡: рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдореЛрдб рдХреЛ рдЗрдиреЗрдмрд▓ рдХрд░реЗрдВ
- -рд╢рд╣рд░ | --log-file =: рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░реЗрдВ
- -рдпреВ | - рдЕрдкрдбреЗрдЯ: рдЕрдкрдбреЗрдЯ рдореЛрдб (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдХ рд╕рдЯреАрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╣реИ)
- -рдПрд╕рд╕реА | -рд╢реЛ-рдХрдорд╛рдВрдб: rsync рдЕрдВрддрд┐рдо рдХрдорд╛рдВрдб рджрд┐рдЦрд╛рдПрдВ
- -n | -dry- рд░рди: "рдирд┐рд╖реНрдХреНрд░рд┐рдп рдореЛрдб" - rsync рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
- -рдмрдЧ | - рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб: рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рд░рди рдХрд░реЗрдВ
рдЗрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрдд рдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╣реЗрдбрд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:
рд╣рдо pyes рдкреИрд░рд╛рдореАрдЯрд░ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╣реИред рдЕрдм рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдореБрдЦреНрдп рдмреНрд▓реЙрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдпрд╣рд╛рдБ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреНрдпрд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
if [ -z "$1" ] ; then usage exit fi while [ 1 ] ; do if [ "$1" = "--yes" ] ; then pYes=1 elif [ "$1" = "-i" ] ; then pInter=1 elif [ "$1" = "--interactive" ] ; then pInter=1 elif procParmS "-lf" "$1" "$2" ; then pLogFile="$cRes" ; shift elif procParmL "--log-file" "$1" ; then pLogFile="$cRes" elif [ "$1" = "-u" ] ; then pUpdate=1 elif [ "$1" = "--update" ] ; then pUpdate=1 elif [ "$1" = "-sc" ] ; then pShowCmd=1 elif [ "$1" = "--show-command" ] ; then pShowCmd=1 elif [ "$1" = "-n" ] ; then pDryRun=1 elif [ "$1" = "--dry-run" ] ; then pDryRun=1 elif [ "$1" = "-bg" ] ; then pBackgr=1 elif [ "$1" = "--background" ] ; then pBackgr=1 elif [ -z "$1" ] ; then break
рдпрджрд┐ рдХреЛрдИ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдорджрдж рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЖрдЧреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг, рдЙрдирдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рдмрд╛рдж рдФрд░, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди (рдЕрдВрддрд┐рдо рд╕реНрд▓реИрд╢ рдХреЛ рдирд┐рдмрдЯрд╛рдирд╛)ред
checkParm "$pSrcDir" " -" checkParm "$pDstDir" " -" if [ "$pInter" = "1" ] && [ "$pYes" = "1" ] ; then errMess " : --yes -i" exit 1 fi
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЧреИрд░-рд╕рдВрд╡рд╛рджрд╛рддреНрдордХ рднрд╛рдЧ рдмрд╣реБрдд рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ:
рдлрд╝рдВрдХреНрд╢рди showInfo рдФрд░ createCmd рдкрд░ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА - рдпрд╣, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдФрд░ rsync рдХрдорд╛рдВрдб рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реИред
рдФрд░ рдЕрдЧрд▓рд╛ рдмреНрд▓реЙрдХ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдкрд╛рд░реНрдЯ рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдореИрдВ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреЛрдб рдХрд┐рддрдирд╛ рд╕рд░рд▓ рдФрд░ рдкрдардиреАрдп рдмрди рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╣рд┐рд╕реНрд╕рд╛ рднреА рдЕрдзрд┐рдХ рдЬрдЧрд╣ рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рднреА рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рд░рд▓ рд╣реИред
cat <<EOF ${curScript##*/} ! . : ------------------------ c) clone ( ) u) update ( ) .) EOF input1 " : " "cu." [ "$cRes" = "." ] && exit pBackgr=
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреИрд░рд╛рдореАрдЯрд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рдкрд░ рдорддрджрд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рднреА рдирд╣реАрдВред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдлрд┐рд░ рднреА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдореЗрдВ рднрд╛рдЧ рдирд╣реАрдВ рд▓реЗрддреЗ рд╣реИрдВ - рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рд╕реЗрдЯ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдпрд╣рд╛рдВ рдЬреЛрдбрд╝ рд╕рдХреЗрдВред
ShowInfo рдФрд░ createCmd рдлрд╝рдВрдХреНрд╢рди рднреА рд╣реИрдВред
рдФрд░ рдЕрдм рд╣рдо рдЗрдирдкреБрдЯ 1 рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рджреЗрдЦреЗрдВ) рддрд╛рдХрд┐ рдпрд╣ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗ рдЬреЛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - "рдбреЙрдЯ-рдПрдХреНрдЬрд┐рдЯ"ред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рддреЗ рд╣реИрдВ! рдЕрдм рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
input1 " : " "cu." "dot-exit" pBackgr=
рдЖрдк рдЖрдЧреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдо рдЕрдЧрд▓реА рдмрд╛рд░ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред
рдЕрдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ:
if [ "$pBackgr" = "1" ] ; then nohup $RSCmd "${RSPrm[@]}" & else $RSCmd "${RSPrm[@]}" fi
рд╣рдо рд╕рд░рдгреА рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдереЛрдбрд╝рд╛ рдмрд╛рдж рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЪреВрдВрдХрд┐ rsync рдХреЛ рдмрд╣реБрдд рд╣реА рдЕрдВрдд рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛ред рдЗрд╕ рддрд░рд╣, рд╣рдо рдирд┐рдпрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдм рд╣рдо рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рд╕рд░рд▓ рдФрд░ рд╕реАрдзреЗ рднреА рд╣реИрдВред
showInfo() { local a1 if [ "$pUpdate" = "1" ] ; then a1="" else a1="" fi padMid 80 "" "$a1" ; echo $cRes padMid 80 "" "$pSrcDir" ; echo $cRes padMid 80 "" "$pDstDir" ; echo $cRes padMid 80 "-" "$pLogFile" ; echo $cRes transYesNoRu $pBackgr padMid 80 " " "$cRes" ; echo $cRes transYesNoRu $pDryRun padMid 80 " " "$cRes" ; echo $cRes }
рдпрд╣рд╛рдВ рд╣рдо рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдиреЛрдВ рдХреЛ рдЦреВрдмрд╕реВрд░рддреА рдФрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдбрдорд┐рдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдкреИрд░рд╛рдореАрдЯрд░ "80" - рд▓рд╛рдЗрди рдХреА рдЪреМрдбрд╝рд╛рдИ)ред 1 рдХрд╛ transYesNoRu рдлрд╝рдВрдХреНрд╢рди рдмрд╛рдХреА "рдирд╣реАрдВ" рдХрд╛ "рд╣рд╛рдВ" рдмрдирд╛рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖ рд▓рдЧрднрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
..................................... .......................... /data/src/proj/fed16 ........................... /data/src/proj/sync -......................... /var/log/dir-sync.log ................................... ........................
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рджрд┐рд▓ rsync рдХрдорд╛рдВрдб рдХреА рдкреАрдврд╝реА рд╣реИ, рдЬрд╣рд╛рдВ рдЪрд╛рдмрд┐рдпрд╛рдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИрдВред
createCmd() { RSCmd="$rsync" if [ "$pUpdate" = "1" ] ; then RSCmd="$RSCmd -urlptgoDvEAH" else RSCmd="$RSCmd -rlptgoDvEAH --delete" fi
рдпрд╣реА рд╣реИ, createCmd RSCmd рдЪрд░ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рддрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдиреЛрдЯ RSPrm рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╣реИрдВ (рдФрд░ рд╣рдо рдПрдХ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП), рддреЛ RSCmd рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЕрдВрдд рдпрд╛рдж рд░рдЦреЗрдВ: $ RSCmd "$ {RSPrm [@]}"? рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдХреЗрд╡рд▓ $ $ RSCmd рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЕрдВрдд $ RSCmd рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛, рддреЛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдпрд╛ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "рдореЗрд░реА рдбреАрд░" рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ "рдореЗрд░реЗ рдбреАрдЖрдИрдЖрд░" рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЬрд╣рд╛рдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╣рд╛рдВ рдореЗрд░реА рдХреЙрдкреА рдХреЛ рдбреАрдЖрдИрдЖрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рд╣реЛрдЧреА, рдФрд░ рдлрд┐рд░ рдЙрд╕ "рдХрд╣реАрдВ" рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреАред
рдПрдХ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбрд╛рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕
RSCmd="$RSCmd \"$pSrcDir/\" \"$pDstDir/\" "
, рдЕрд░реНрдерд╛рддреН, рдЗрд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ рднрд╛рдЧ рдЧрдП рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рдЬреЛрдбрд╝рдирд╛ рднреА рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╣рдореЗрдВ
рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХреЗ рд╕рд╛рде "рдореЗрд░реЗ рдзреАрд░" рдЬреИрд╕реЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВред
рдПрдХ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рд╕рд░рдгреА рдХреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдЪрд░ (RSPrm =) рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдпрд╣
рдПрдХ рдирд┐рдпрдорд┐рдд рдЪрд░ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕реЗ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬрдм рд╣рдо рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ ((n ++)); RSPrm [n] = "- рд▓реЙрдЧ-рдлрд╛рдЗрд▓ = $ pLogFile"ред рдмреИрд╢ рдореЗрдВ рд╕рд░рдгреА рд╕реВрдЪрдХ рд╢реВрдиреНрдп рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рдФрд░ рдкрдардиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо n = -1 рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдмрд╛рдж рдореЗрдВ рд╣рдо рдЗрд╕реЗ рдмрдврд╝рд╛рдПрдБ рдФрд░ рдПрдХ рдирдпрд╛ рд╡реИрдз рдЗрдВрдбреЗрдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдВрдд рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ:
$RSCmd "${RSPrm[@]}"
рдпрд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рдирд┐рдореНрди рдХрд░рддрд╛ рд╣реИ - рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ
рдЕрд▓рдЧ рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ
, рдФрд░ рдПрдХ рдЕрд╡рд┐рднрд╛рдЬреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХреБрдЫ рднреА рд╡реЗ (рд╕рдлреЗрдж рдЕрдВрддрд░рд┐рдХреНрд╖ рд╡рд░реНрдг рд╣реИрдВред) рдпрджрд┐ рд╣рдо @ рдХреЗ рд╕рд╛рде рдЪрд░рд┐рддреНрд░ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЕрд░реНрдерд╛рддреН рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рдкреНрд░рднрд╛рд╡ рдорд┐рд▓рддрд╛ рд╣реИред рд╕рд░рдгреА рдХреЛ рд╡реНрд╣реЙрдЯреНрд╕рдПрдк рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдпрд╣ рдЯреЛрдХрди рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЯреВрдЯ рдЧрдП рд╣реИрдВ рдЬреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдордиреЗ рдкрд░рд╣реЗрдЬ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдпрд╣рд╛рдБ @ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрддреНрдпрдВрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдкреИрд░рд╛рдореАрдЯрд░ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╡рд╛рд▓реЗ рддрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реА rsync рдлрд╝рд╛рдЗрд▓ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ: '-f- * .tmp', рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ * .tmp рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ, '-f- * .tmp' рдПрдХ рдПрдХрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реНрдерд╛рди рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдмрд╛рд░ рд▓рд╛рдЗрдиреЗрдВ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдпрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдкреЛрд╕реНрдЯреНрд░реЛрдлрд┐рд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
rsync ... '-f- *.tmp' '-f- *.log' ...
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдкрд╣рд▓реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд╛рд░ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЧрд╛рд░реНрдб рд╣реЛрдЧрд╛! рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
param="-f- *.tmp" param="$param -f- *.log"
рдЗрд╕реА рддрд░рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░
param="'-f- *.tmp'" param="$param '-f- *.log'"
рдФрд░ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╣рдо рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдЕрдиреБрд╕рд╛рд░ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реИрдВред
рд╕рд╛рд░рд╛рдВрд╢
- рд╣рдордиреЗ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЬреЛрдбрд╝рд╛ред
- рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреЛ рд╕рд░рд▓ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдХрд╛рд░реНрдп рд╕реНрдкрд╖реНрдЯрддрд╛ рдФрд░ рд▓реЗрдЦрди рдореЗрдВ рдЖрд╕рд╛рдиреА рд▓рд╛рддреЗ рд╣реИрдВред
- рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рдРрд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
- рд╣рдореЗрдВ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рднреАрддрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд┐рд▓реА
рд╣рдореЗрдВ рдХреНрдпрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ? рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдПрдХрджрдо рд╕рд╣реА рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╢рд┐рдХрд╛рдпрддреЗрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдб рдХреА рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдЖрджрд░реНрд╢ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдмрд▓реНрдХрд┐ рд╕рд┐рд░реНрдл рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдерд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдЙрдирдХреЗ рдкрд╛рд╕ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдФрд░ рд▓рд╛рдн рд╣реИ - рд╡рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЕрдкрдирд╛ рд╕рдВрдХреАрд░реНрдг рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдЙрди рдкрд╛рдардХреЛрдВ рдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реВрдВрдЧрд╛, рдЬреЛ rsync рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ - рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд░рд┐рдореЛрдЯ рдорд╢реАрди рдкрд░ рдлреЙрд░реНрдо рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
[user@][host:]dir-from-root
рд╡рд╣ рд╣реИ
vova@mycomp:/save/work mycomp:/save/work
рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
dir-sync -u /work mycomp:/save/work
рдЕрдЧрд░ рдРрд╕реЗ рдкрд╛рдардХ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ - рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреБрдж рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ ред