рдУрдПрд╕: рдбреЗрдмрд┐рдпрди рдЬреЗрд╕реА
рдордЫрд▓реА: 2.2.0
рдУрдПрд╕: рдорд╛рдЙ рд▓рд┐рдирдХреНрд╕
рдордЫрд▓реА: 2.3.1
рдкреНрд░рдЬрдирди рдХреИрд╕реЗ рдХрд░реЗрдВ?
рдЬрдм рджреВрд░рд╕реНрде рд╣реЛрд╕реНрдЯ рдордЫрд▓реА рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ rsync рдФрд░ sftp (рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ sftp рдФрд░ mc рдХреЗ рдЕрдВрджрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд░рд┐рдореЛрдЯ рд╣реЛрд╕реНрдЯ рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рд▓рд┐рдкрд┐ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ: https://blog.pawel.mydevil.net/index.php/2014/02/20/wyswietlanie-danych-przy-logowaniu-skrypt/
рдореИрдВрдиреЗ рджреЛ рдореЗрдЬрдмрд╛рдиреЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдкрд╣рд▓рд╛ рдореЗрдЬрдмрд╛рди рдбреЗрдмрд┐рдпрди рдЬреЗрд╕реА (рдордЫрд▓реА, рд╕рдВрд╕реНрдХрд░рдг 2.2.0) рдФрд░ рджреВрд╕рд░рд╛ рдорд╛рдЙ рд▓рд┐рдирдХреНрд╕ (рдордЫрд▓реА, рд╕рдВрд╕реНрдХрд░рдг 2.3.1) рд╣реИред
SFTP
sftp рд░реВрдЯ @ RemoteHost
рд░реВрдЯ @ RemoteHost рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб:
рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдмрд╣реБрдд рд▓рдВрдмрд╛ 539831597
рд▓реЙрдЧ рдСрд░реНрдЯ рдХрд╛ рднрд╛рдЧредрд▓реЙрдЧ
рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯ 48460 ssh2 рд╕реЗ рд░реВрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХреГрдд рдкрд╛рд╕рд╡рд░реНрдб
рдЕрдХреНрдЯреВрдмрд░ 18 19:18:59 bpi sshd [7502]: pam_unix (sshd: session): рд╕рддреНрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд░реВрдЯ рдХреЗ рд▓рд┐рдП рдЦреЛрд▓рд╛ рдЧрдпрд╛ (uid = 0)
рдЕрдХреНрдЯреВрдмрд░ 18 19:19:00 bpi sshd [7502]: рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛: 11: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛
рдЕрдХреНрдЯреВрдмрд░ 18 19:19:00 bpi sshd [7502]: pam_unix (sshd: session): рдЗрд╕ рд░реВрдЯ рдХреЗ рд▓рд┐рдП рд╕рддреНрд░
rsync:
~ $ sudo rsync -av --delete -e ssh / home / pawel pawel @ RemoteHost : / mnt / backup
[sudo] has┼Вo u┼╝ytkownika рдкрд╛рд╡реЗрд▓:
pawel @ RemoteHost рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб:
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрд╕реНрдХрд░рдг рдмреЗрдореЗрд▓ - рдХреНрдпрд╛ рдЖрдкрдХрд╛ рд╢реЗрд▓ рд╕рд╛рдл рд╣реИ?
(рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП rsync рдореИрди рдкреЗрдЬ рджреЗрдЦреЗрдВ)
rsync рддреНрд░реБрдЯрд┐: рдХрдВрдкреЗрдЯрд┐рдЯрд┐рд╡ рдЕрд╕рдВрдЧрддрддрд╛ рдкрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЕрд╕рдВрдЧрддрддрд╛ (рдХреЛрдб 2) (176) [рдкреНрд░реЗрд╖рдХ = 3.1.1]
рдореИрдВрдиреЗ рдореИрдиреБрдЕрд▓ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрдврд╝рд╛ рдФрд░ рдореИрдВрдиреЗ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛
"ssh pawel @RemoteIP / bin / true> out.dat"
рдлрд╝рд╛рдЗрд▓ "out.dat" рдореЗрдВ рд▓реЙрдЧрд┐рди рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрддрд╛ рд╣реИред
рдЬрдм рдореИрдВ рдлрд╝рд╛рдЗрд▓ /etc/fish/config.fish рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдВрдХ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реЗ рд▓рд┐рдпреЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдЖрдорддреМрд░ рдкрд░ рд╢реЗрд▓ рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╕рддреНрд░ рдХреЗ рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛рддреНрдордХ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдЯрдбрдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрддреА рд╣реИред рдордЫрд▓рд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдкрдХреЗ _ ~ / .config / рдордЫрд▓реА / config.fish_ (рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЗ рд╕реНрд░реЛрдд) рдореЗрдВ рдХреБрдЫ рднреА рдРрд╕рд╛ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ stdout рдХреЛ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛ рд╕реНрдЯрдб рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрдо рдЖрдо рд╣реИ) if status --is-interactive
рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИ end
рдмреНрд▓реЙрдХред
рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд░рдЦрд╛
рдЕрдЧрд░ рд╕реНрдерд┐рддрд┐ --is- рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡
/ Path / to / рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рдЬреЛ / рдкреНрд░рд┐рдВрдЯ / рдкрд░ / рдХрдВрд╕реЛрд▓
рд╕рдорд╛рдкреНрдд
/etc/fish/config.fish рдореЗрдВ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗрд╡рд▓ рддрднреА рдЪрд▓ рд░рд╣реА рд╣реИ рдЬрдм рд╢реЗрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВред
рдореИрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрджрд░ "рдЕрдЧрд░" рдбрд╛рд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА,ред рд▓реЗрдХрд┐рди рдореИрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреИрд╕реЗ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдлрд┐рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛рдПред
рдПрдлрдПрдХреНрдпреВ рдХреЛ рдпрд╣ рд╕рдВрдХреЗрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рджрд┐рдпрд╛? рдореИрдВ рдПрдХ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реВрдВ, рдордЫрд▓реА рдХреЗ рдЦреЛрд▓ рдХреЗ рд╕рд╛рде rsync рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореЗрд░реЗ рд▓рд┐рдпреЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдЖрдорддреМрд░ рдкрд░ рд╢реЗрд▓ рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╕рддреНрд░ рдХреЗ рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛рддреНрдордХ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдЯрдбрдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрддреА рд╣реИред рдордЫрд▓рд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдкрдХреЗ _ ~ / .config / рдордЫрд▓реА / config.fish_ (рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЗ рд╕реНрд░реЛрдд) рдореЗрдВ рдХреБрдЫ рднреА рдРрд╕рд╛ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ stdout рдХреЛ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛ рд╕реНрдЯрдб рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрдо рдЖрдо рд╣реИ)
if status --is-interactive
рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИend
рдмреНрд▓реЙрдХред