рдмреИрд╢: рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдмрд┐рдирд╛ рдмреИрдХрдЕрдк

рдмреИрдХрдЕрдк рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА - рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╣рд░ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдХрд╛рд░реНрдп рддреБрдЪреНрдЫ рдкреНрд░рддреАрдд рд╣реЛрдЧрд╛ рдФрд░ рдХрдИ рдкрд╛рдардХреЛрдВ рдХреЗ рдмреАрдЪ рд░реБрдЪрд┐ рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд▓реЗрдЦ рдореБрдЭреЗ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдмрд╣реБрдд рдорджрдж рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЯрд╛рд╕реНрдХ: рдПрдХ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдмреИрдХрдЕрдк рдбреЗрдЯрд╛, рдХрдо рд╕реЗ рдХрдо рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рдФрд░ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рдЬреИрдмрд░ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд╕рднреА рдореБрдЦреНрдп рдХрд╛рд░реНрдп, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрдЧ рдХреЗ рдмрд┐рдирд╛ (рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдиреЗрддреГрддреНрд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛)ред

рдЕрдм рдмрд╛рдд рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдЦреЛрд▓реЗрдВ
nano backup-script 

рдЕрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ
 #!/bin/bash 

рдХреБрдЫ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВред
TN - TASKNAME - рдиреМрдХрд░реА рдХрд╛ рдирд╛рдоред рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдФрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдХрдИ рдХрд╛рд░реНрдп рд╣реИрдВ (рдорд╛рд╕рд┐рдХ, рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ, рджреИрдирд┐рдХ) рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЖрд▓рд╕реА рдерд╛, рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдмрдирд╛рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдмрд╕ рдЖрд╡рд╢реНрдпрдХ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХрд╛рд░реНрдп рдХрд╛ рдирд╛рдо рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рдмрд┐рдирд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдзрд┐рдорд╛рдирддрдГ рд▓реИрдЯрд┐рди рдореЗрдВ, рдпрджрд┐ рдЖрдк рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдФрд░ рдЧрд▓рдд рдХрдорд╛рдВрдб рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
 TN=docs-monthly<br /> #TN=docs-weekly<br /> #TN=docs-daily 

OF - рдЖрдЙрдЯрдкреБрдЯ рдлрд╛рдЗрд▓ - рдЖрдЙрдЯрдкреБрдЯ рдлрд╛рдЗрд▓ рдХрд╛ рдирд╛рдоред TN рд╡реИрд░рд┐рдПрдмрд▓ рд╕реЗ рд╡реНрдпреБрддреНрдкрдиреНрди, рдЕрд░реНрдерд╛рддреН, рдиреМрдХрд░реА рдХрд╛ рдирд╛рдоред
 OF=$TN.tar.gz 

рд╣рдо рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкрде рдХреЗ рд╕рд╛рде рдПрдХ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рд╕рднреА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдФрд░ рд╢реЗрд╖ рд▓реЙрдЧ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВрдЧреЗред
 LOGFILE=/var/log/backup.log 

рдЖрдЗрдП рдмреИрдХрдЕрдк рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЙрдЧ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВ (рджрд┐рдирд╛рдВрдХ, рд╕рдордп, рдХрд╛рд░реНрдп рдирд╛рдо)
 echo >>$LOGFILE echo "=====================================================" >>$LOGFILE echo "$(date +'%d-%b-%Y %R')" >>$LOGFILE echo " \"$TN\" ..." >>$LOGFILE 

рдЗрд╕ рддрдереНрдп рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдХрдорд╛рдВрдб рдкреИрд░рд╛рдореАрдЯрд░ (рдЬреИрд╕реЗ рдЯрд╛рд░) рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╕рдорд╛рдзрд╛рди рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ - рд▓рд┐рдирдХреНрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрдорд╛рдВрдб рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдорд╛рдирдХ рд╕реАрдорд╛рдВрдХрдХ ($ IFS рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд) рдХреЛ рдЕрдВрддрд░рд┐рдХреНрд╖ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкрдВрдХреНрддрд┐ рд╡рд░реНрдгред
рдорд╛рдирдХ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рдкреБрд░рд╛рдиреЗ рдореВрд▓реНрдп рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ
 OLD_IFS=$IFS 

рдорд╛рдирдХ рдкрд░рд┐рд╕реАрдорди рдХреЛ рдЕрдкрдиреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ
 IFS=$'\n' 

SRCD - SouRCe рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ - рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
рдЕрдм рдЖрдк рдХрдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓рд╛рдЗрди рдЯреВрдЯ рд╕рдХрддреА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдЦреБрдж рдКрдкрд░ рдХреА рд░реЗрдЦрд╛ рд╕реЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдерд╛
 SRCD="/mnt/source/folder_1 /mnt/source/folder_2 /mnt/source/folder_N" 

TGTD - TarGeT Directory - рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬрд┐рд╕рдореЗрдВ рдмреИрдХрдЕрдк рдЬреЛрдбрд╝реЗ рдЬрд╛рдПрдВрдЧреЗ
 TGTD="/var/backups/" 

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдХреЗрд╡рд▓ рд╕реНрд░реЛрдд рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмреИрдХрдЕрдк рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдХрдо рд╕реЗ рдХрдо рддреБрдЪреНрдЫ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рджреВрд░рд╕реНрде рд╕рдВрд╕рд╛рдзрди рдкрд░ рдПрдХ рдХреЙрдкреА рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ, рдЬрд┐рд╕реЗ рд╣рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рдЙрдВрдЯ рдФрд░ рдлрд╕реНрдЯрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВрдЧреЗред рдореИрдВ рддреБрд░рдВрдд рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рдорд╛рдЙрдВрдЯ рдФрд░ рдлрд╝реЙрд╕реНрдЯрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдПрдХ рднреА рдорд╛рдЙрдВрдЯ рдирд╣реАрдВ рд╣реИ - рдореИрдВ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЕрдкрдиреА рдЕрдиреНрдп рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рдкрд░рд┐рдЪрд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдХрд╣рд╛ - рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрдХ рд╣реА рдХреЛрдб рдХреЛ рджреЛ рдмрд╛рд░ рдирд╣реАрдВ рд▓рд┐рдЦреЗрдЧрд╛ (рдРрд╕рд╛ рдХреБрдЫ, рд╕рдЪрдореБрдЪ) рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ)
 TGTD2="/mnt/archive/" 

"рдирдпрд╛ рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рдПрдВ" рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рд╣реА рд╕рдВрдЧреНрд░рд╣ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ
 tar -czf $TGTD$OF $SRCD &>>$LOGFILE 

рдФрд░ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ "рдкреБрд░рд╛рдиреЗ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ"
 tar -u -f $TGTD$OF $SRCD &>>$LOGFILE 

рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, $ рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рджреИрдирд┐рдХ рдЕрджреНрдпрддрди рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ, рдФрд░ рдЙрдирдХреЗ $ TN (рдиреМрдХрд░реА рдХреЗ рдирд╛рдо) рдХреНрд░рдорд╢рдГ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВ, рдФрд░ $ OFред

рдЪрд░ рдореЗрдВ "?" рдЕрдВрддрд┐рдо рдХрдорд╛рдВрдб рдХреА рдирд┐рд╖реНрдкрд╛рджрди рд╕реНрдерд┐рддрд┐ рд▓реА рдЧрдИ рд╣реИред рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рд╣реЗрдЬреЗрдВред
 STATUS=$? 

рдорд╛рдирдХ рд╡рд┐рднрд╛рдЬрдХ рдХреЛ рдЙрд╕рдХреЗ рдореВрд▓ рдореВрд▓реНрдп рдкрд░ рд▓реМрдЯрд╛рдПрдБред
 IFS=$OLD_IFS 

рдЕрдм рдПрдХ рд╢рд░реНрдд рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ - рдпрджрд┐ рдЯрд╛рд░ рдЖрд░реНрдХ рдореЗрдВ рдкреИрдХрд┐рдВрдЧ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ, рддреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВ, рд╡рд┐рдлрд▓ рдмреИрдХрдЕрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред рдЕрдиреНрдпрдерд╛, рд╣рдо рдЖрдЧреЗ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ - рд╣рдо рдиреЗрдЯрд╡рд░реНрдХ рдмреЙрд▓ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рд╕рдВрдЧреНрд░рд╣ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдлреЗрдВрдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж, рд╣рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЙрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╛ рддреЛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ рдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
 if [[ $STATUS != 0 ]]; then rm $TGTD$OF &>>$LOGFILE echo "###########################################" >>$LOGFILE echo "###  !   . ###" >>$LOGFILE echo "###########################################" >>$LOGFILE echo "$(date +'%d-%b-%Y %R%n')  $OF  " | sendxmpp -t -f /usr/local/etc/XMPP_settings _@ &>>$LOGFILE else echo "    \"$TGTD$OF\"" >>$LOGFILE echo "    $(date +'%R %d-%b-%Y')!" >>$LOGFILE echo "      $TGTD_archive" >>$LOGFILE mount $TGTD2 &>>$LOGFILE if [[ $? != 0 ]]; then echo "#############################################################" >>$LOGFILE echo "###       ###" >>$LOGFILE echo "#############################################################" >>$LOGFILE echo "$(date +'%d-%b-%Y %R%n')  $OF     " | sendxmpp -t -f /usr/local/etc/XMPP_settings _@ &>>$LOGFILE exit fi echo "     " >>$LOGFILE cp -f $TGTD$OF $TGTD_archive$OF &>>$LOGFILE if [[ $? != 0 ]]; then echo "#############################################################" >>$LOGFILE echo "###        ###" >>$LOGFILE echo "#############################################################" >>$LOGFILE echo "$(date +'%d-%b-%Y %R%n')  $OF     " | sendxmpp -t -f /usr/local/etc/XMPP_settings _@ &>>$LOGFILE else echo "     $(date +'%R %d-%b-%Y')!" >>$LOGFILE echo "   \"$TGTD_archive$OF\"" >>$LOGFILE fi echo "      $TGTD_archive" >>$LOGFILE umount $TGTD2 &>>$LOGFILE echo "   !" >>$LOGFILE fi exit 


рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╣рдо рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд╕реНрдерд╛рдиреАрдп рддрд┐рдЬреЛрд░реА рд╕реЗ рджреВрд░рд╕реНрде рдПрдХ рддрдХ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд▓реЙрдЧ рдореЗрдВ рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рд╣реИред
рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХреНрд╕рдПрдордкреАрдкреА рд╕рдВрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдЧрдарди рдХреЗ рдкрд╛рд╕ рдПрдХ рдЬреЗрдмрд░ рд╕рд░реНрд╡рд░ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдореЗрд▓ рдореЗрдВ рдЖрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреНрд╡рд░рд┐рдд рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИ, рдкрд╛рд╕рд╡рд░реНрдб рдореЗрдВ рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ рдХрд░рдирд╛, рд▓рд┐рдВрдХ рдкрд░ рдкреЛрдХ рдХрд░рдирд╛ рдФрд░ рдореБрдЭреЗ рд╕рдм рдХреБрдЫ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдИ рднреА рдЖрдкрдХреЛ Sendxmpp рдХреЗ рдмрдЬрд╛рдп Sendmail рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдлрд╝рд╛рдЗрд▓ / usr / рд╕реНрдерд╛рдиреАрдп / рдЖрджрд┐ / XMPP_settings рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:

 #_@;IP_jabber_:_jabber_ _ login@domen;127.0.0.1:5222 password 

Fstab рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, Windows рдЧреЗрдВрджреЛрдВ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдкрдВрдХреНрддрд┐
 //192.168.0.250/arhiv /mnt/archive cifs noauto,rw,iocharset=utf8,cp866,file_mod=0666,dir_mod=0777,noexec,_netdev,credentials=/root/.passwd_to_archive_directory 0 0 

рдЕрдм рдЬреЛ рдХреБрдЫ рдмрдЪрд╛ рд╣реИ рд╡рд╣ рдХрд╛рд░реНрдп рдХреЛ рдХреНрд░реЛрди рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдпрд╣ / etc / crontab рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Windows рд╕реЗ GUI рдХреА рдЖрджрдд рдХреЗ рдХрд╛рд░рдг, рдореИрдВ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдХрдорд╛рдВрдб рдХреЛ рд░реВрдЯ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, sudo bash backup_scriptред рдХреНрд░реЛрди рдкрд░ рдПрдХ рдХрдорд╛рдВрдб рдЬреЛрдбрд╝рдирд╛, рдЖрдк рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рддреБрд░рдВрдд рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛

рдЪрд░реНрдЪрд╛ рдХреЗ рджреМрд░рд╛рди, рд▓реЙрдЧ рдлреИрд▓рд╛рд╡ рдХрд╛ рдореБрджреНрджрд╛ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВ рд╕рдмрд╕реЗ рд╕рд░рд▓ (рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ) рддрд░реАрдХреЗ рд╕реЗ рдЧрдпрд╛: рд╣рдо рдХреЗрд╡рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдХреА рдЕрдВрддрд┐рдо рдПрди рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рджреЛ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝реА рдЬрд╛рдПрдВрдЧреА, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рд▓реЙрдЧ рдХреА рдЕрдВрддрд┐рдо 300 рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рд▓реЙрдЧ рдХреЛ рдорд┐рдЯрд╛ рджреЗрдВрдЧреЗ
 tail -n 300 $LOGFILE >/tmp/unique_fantastic_filename.tmp mv -f /tmp/unique_fantastic_filename.tmp $LOGFILE 

рдореИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкреВрд░рд╛ рдкрд╛рда рджреВрдВрдЧрд╛:
 #!/bin/bash TN=docs-monthly #TN=docs-weekly #TN=docs-daily OF=$TN.tar.gz LOGFILE=/var/log/backup.log echo >>$LOGFILE echo "=====================================================" >>$LOGFILE echo "$(date +'%d-%b-%Y %R')" >>$LOGFILE echo " \"$TN\" ..." >>$LOGFILE OLD_IFS=$IFS IFS=$'\n' SRCD="/mnt/source/folder_1 /mnt/source/folder_2 /mnt/source/folder_N" TGTD="/var/backups/" TGTD2="/mnt/archive/" tar -czf $TGTD$OF $SRCD &>>$LOGFILE #tar -u -f $TGTD$OF $SRCD &>>$LOGFILE STATUS=$? IFS=$OLD_IFS if [[ $STATUS != 0 ]]; then rm $TGTD$OF &>>$LOGFILE echo "###########################################" >>$LOGFILE echo "###  !   . ###" >>$LOGFILE echo "###########################################" >>$LOGFILE echo "$(date +'%d-%b-%Y %R%n')  $OF  " | sendxmpp -t -f /usr/local/etc/XMPP_settings _@ &>>$LOGFILE else echo "    \"$TGTD$OF\"" >>$LOGFILE echo "    $(date +'%R %d-%b-%Y')!" >>$LOGFILE echo "      $TGTD_archive" >>$LOGFILE mount $TGTD2 &>>$LOGFILE if [[ $? != 0 ]]; then echo "#############################################################" >>$LOGFILE echo "###       ###" >>$LOGFILE echo "#############################################################" >>$LOGFILE echo "$(date +'%d-%b-%Y %R%n')  $OF     " | sendxmpp -t -f /usr/local/etc/XMPP_settings _@ &>>$LOGFILE exit fi echo "     " >>$LOGFILE cp -f $TGTD$OF $TGTD_archive$OF &>>$LOGFILE if [[ $? != 0 ]]; then echo "#############################################################" >>$LOGFILE echo "###        ###" >>$LOGFILE echo "#############################################################" >>$LOGFILE echo "$(date +'%d-%b-%Y %R%n')  $OF     " | sendxmpp -t -f /usr/local/etc/XMPP_settings _@ &>>$LOGFILE else echo "     $(date +'%R %d-%b-%Y')!" >>$LOGFILE echo "   \"$TGTD_archive$OF\"" >>$LOGFILE fi echo "      $TGTD_archive" >>$LOGFILE umount $TGTD2 &>>$LOGFILE echo "   !" >>$LOGFILE fi tail -n 300 $LOGFILE >/tmp/unique_fantastic_filename.tmp mv -f /tmp/unique_fantastic_filename.tmp $LOGFILE exit 


рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/In136313/


All Articles