рд╣рдо рдореЗрд▓ рдпрд╛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рд╡реАрдо рдПрдЬреЗрдВрдЯ рд▓рд┐рдирдХреНрд╕ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬрддреЗ рд╣реИрдВ

рдЕрднрд┐рд╡рд╛рджрди, рд╣рдмреНрд░!

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВ рдЬрд┐рд╕ рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рд╡рд╣ рдкреНрд░рд╛рдердорд┐рдХ рдмреИрдХрдЕрдк рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реАрдо рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рд▓рдЧреАред рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдХрд▓рд╛:

  • Veeam рдЯреВрд▓ рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рддреЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдХреЗрдВрджреНрд░реАрдХреГрдд рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рддреИрдирд╛рддреА рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ;
  • рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд рдХреЗрд╡рд▓ рдПрдХ рд╡реАрдо рдПрдЬреЗрдВрдЯ рд╣реИ;

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

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

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

check_veeam_backup.sh
#!/bin/bash # PARAMETRS HOST=`hostname` REPORT_NAME_FORMAT="%d-%m-%Y" CURRENT_DATE_FORMAT="%d.%m.%Y" CURRENT_TIME_FORMAT="%H:%M:%S" REPORT_FILE=report_$(date +$REPORT_NAME_FORMAT).log #TOKEN="000000000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" #RECIP_ID="00000000" REPOSITORY=" " MOUNT_POINT=" " # MOUNT_USER=" " # MOUNT_PASSWORD=" " # Get Veeam job list JOB_LIST=($(awk 'NR>1 {print$1}' <<< "$(veeamconfig job list)")) JOB_RESULT_PATH="/var/log/veeam/Backup/" echo -e "\nStart check on $(date +$CURRENT_DATE_FORMAT) at $(date +$CURRENT_TIME_FORMAT)\n" >> $REPORT_FILE # Check result Veeam backup job for JOB in $JOB_LIST do echo ------------------------------------------------------ >> $REPORT_FILE echo Check Schedule job name: $JOB from Host: $HOST >> $REPORT_FILE echo -e "------------------------------------------------------\n" >> $REPORT_FILE echo -e "$(veeamconfig schedule show --jobName $JOB)\n" >> $REPORT_FILE echo ------------------------------------------------------ >> $REPORT_FILE echo Check latest session Job name: $JOB from Host: $HOST >> $REPORT_FILE echo -e "------------------------------------------------------\n" >> $REPORT_FILE LAST_JOB_RESULT=$(ls -t $JOB_RESULT_PATH/$JOB | head -n1 | cut -c 25-) veeamconfig session info --id $LAST_JOB_RESULT >> $REPORT_FILE done echo ------------------------------------------------------ >> $REPORT_FILE echo Stop check on $(date +$CURRENT_DATE_FORMAT) at $(date +$CURRENT_TIME_FORMAT) >> $REPORT_FILE echo "\n" >> $REPORT_FILE # if the repository owner is not root # mount -t cifs -o user=$MOUNT_USER,password=$MOUNT_PASSWORD $REPOSITORY $MOUNT_POINT mount -t cifs $REPOSITORY $MOUNT_POINT echo ------------------------------------------------------ >> $REPORT_FILE echo -e "Check files in backup repository:\n" >> $REPORT_FILE ls -h $MOUNT_POINT >> $REPORT_FILE echo ------------------------------------------------------ >> $REPORT_FILE echo -e "Check free space on backup repository:\n" >> $REPORT_FILE echo -e "$(df -h $MOUNT_POINT)\n" >> $REPORT_FILE echo -e "------------------------------------------------------\n\n\n" >> $REPORT_FILE sleep 30 umount $MOUNT_POINT SEND_RESULT="$(echo -e "$(cat ${REPORT_FILE})")" # Send result to telegram # Uncomment the next line to send results to telegram # curl --silent --data "html&text=$SEND_RESULT" https://api.telegram.org/bot$TOKEN/sendMessage?chat_id=$RECIP_ID&parse_mode= # Send result to email # Uncomment the next line to send the results by email and replace <your_mail@yuor_domain> # mail -s "Report $HOST - $(date +$CURRENT_DATE_FORMAT)" your_mail@yuor_domen < $REPORT_FILE # if you want delete report file, uncomment next line # rm -rf $REPORT_FILE #Delete log file 


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рддреИрдпрд╛рд░ рдХреА рдЬрд╛рдПрдЧреА:

 Start check on 10.09.2019 at 14:13:30 ------------------------------------------------------ Check Schedule job name: HP from Host: hp ------------------------------------------------------ Every day At: 23:00 Run automatically: enabled ------------------------------------------------------ Check latest session Job name: HP from Host: hp ------------------------------------------------------ Backup session ID: {555ebf40-2fb9-47cc-baf0-7192c0ae896e} Job name: HP Job ID: {435117d7-ace8-4009-9c51-b00e8174c252} State: Success Start time: 2019-09-06 22:43:19 End time: 2019-09-07 00:02:14 ------------------------------------------------------ Stop check on 10.09.2019 at 14:13:30 ------------------------------------------------------ Check files in backup repository: media media ------------------------------------------------------ Check free space on backup repository:      % C  //share/backup 1,8T 96G 1,7T 6% /media/backup_repository ------------------------------------------------------ 

рдЪреБрдиреЗ рд╣реБрдП рддрд░реАрдХреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд░рд┐рдкреЛрд░реНрдЯ рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдпрд╛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо (рдореЗрд░реЗ рдорд╛рдорд▓реЗ) рдореЗрдВ рднреЗрдЬреА рдЬрд╛рдПрдЧреА:



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рджрд┐рди рд╕реБрдмрд╣ 9 рдмрдЬреЗ, рдХреНрд░реЙрд╕реНрдЯреИрдм рдореЗрдВ рдпрд╣ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝рдирд╛ рд╣реИ

реж реп * * * / рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рдЪреЗрдХ_рд╡реАрдореЗ_рдмреИрдХрдЕрдк.рд╢> / рджреЗрд╡ / рдирд▓ # рджреИрдирд┐рдХ рдЪреЗрдХ рд╕реБрдмрд╣ реп рдмрдЬреЗ

рдЕрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣рд░ рд╕реБрдмрд╣ рдЪрд▓рддреА рд╣реИ рдФрд░ рдЬрдм рддрдХ рдХрд╛рд░реНрдп рджрд┐рд╡рд╕ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддрдм рддрдХ рдПрдЬреЗрдВрдЯреЛрдВ рдХреЗ рдХрд╛рдо рдФрд░ рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╣рд╛рде рдореЗрдВ рд╣реЛрддреА рд╣реИред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрд╕рд╛рдиреА рд╕реЗ рдирд╣реАрдВ рдЬрд╛ рд░рд╣реА рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдврд╝рддреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде, рдЬрд┐рд╕ рддрдХ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╣реБрдВрдЪ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкреНрд▓рд╕ рд╣реИред рдЖрдкрдХреЗ рдмреИрдХрдЕрдк рдХреЛ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХрднреА рднреА рд░рдЧрдбрд╝рд╛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рджреБрд░реНрдШрдЯрдирд╛ рд╕реЗ рднреАред

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


All Articles