Jaels

Untitled

Feb 1st, 2017
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.40 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #В скрипте проверяется наличие контрол-файла на шаре, если он найдет - то все ок и можно вызывать скрипт копирования. Если контролфайл не найден-
  4. #то проверяется смонтирована ли шара и если нет, то выполняется попытка монтирование и повторного поиска контролфайла. Если все ок - то вызывается скрипт.
  5.    
  6. CONTROLFILE=/mnt/smb/controlfile
  7. LOGS=/root/nas/logs/
  8. STORAGE=/storage
  9. echo "From: [email protected]" > $LOGS/mailfile.txt
  10. echo "To: [email protected]" >> $LOGS/mailfile.txt
  11. echo "Subject: SMB check_log" >> $LOGS/mailfile.txt
  12. echo "" >> $LOGS/mailfile.txt
  13.  
  14. if [[ -f $CONTROLFILE ]];
  15. then
  16.         echo "SMB Share seems UP: bypassing control to copy script" > $LOGS/worklog.txt
  17.         cat $LOGS/worklog.txt >> $LOGS/mailfile.txt && cat $LOGS/mailfile.txt | sendmail -t
  18.         # Here will be main script
  19.  
  20. else
  21.         echo "CONTROFILE not found, checking if remote share is mounted..." > $LOGS/worklog.txt
  22.         SMBMOUNTSTATUS=`systemctl status mnt-smb.mount | grep Active: | cut -d' ' -f5`
  23.         if [[ $SMBMOUNTSTATUS == active ]];
  24.         then
  25.                 echo "SMB Share is mounted, but CONTROLFILE not found. Something wrong could happen, check it manually" >> $LOGS/worklog.txt
  26.                 cat $LOGS/worklog.txt >> $LOGS/mailfile.txt && cat $LOGS/mailfile.txt | sendmail -t
  27.                 exit 1
  28.         elif [[ $SMBMOUNTSTATUS == inactive ]];
  29.         then
  30.                 echo "SMB share unmounted, trying to remount..." >> $LOGS/worklog.txt
  31.                 systemctl start mnt-smb.mount
  32.                 SMBMOUNTSTATUS=`systemctl status mnt-smb.mount | grep Active: | cut -d' ' -f5`
  33.                 if [[ $SMBMOUNTSTATUS == active ]];
  34.                 then
  35.                         echo "SMB Share seems UP after remount: checking controlfile existing.." >> $LOGS/worklog.txt
  36.                         if [[ -f $CONTROLFILE ]];
  37.                         then
  38.                                 echo "SMB Share is UP after remount and controfile exists, bypassing shell to copy script" >> $LOGS/worklog.txt
  39.                                 cat $LOGS/worklog.txt >> $LOGS/mailfile.txt && cat $LOGS/mailfile.txt | sendmail -t
  40.                                 # From this line you should call copy script
  41.                         else
  42.                                 echo "SMB Share is mounted after remount, but CONTROLFILE not found. Something wrong could happen, check it manually" >> $LOGS/worklog.txt
  43.                                 cat $LOGS/worklog.txt >> $LOGS/mailfile.txt && cat $LOGS/mailfile.txt | sendmail -t
  44.                                 exit 1
  45.                         fi
  46.                 elif [[ $SMBMOUNTSTATUS == inactive ]];
  47.                 then
  48.                         echo "Cannon mount SMB Share, check spr1-backup01 share availability" >> $LOGS/worklog.txt
  49.                         cat $LOGS/worklog.txt >> $LOGS/mailfile.txt && cat $LOGS/mailfile.txt | sendmail -t
  50.                          else
  51.                         echo "Cannot get mount status. Check it manually" >> $LOGS/worklog.txt
  52.                         cat $LOGS/worklog.txt >> $LOGS/mailfile.txt && cat $LOGS/mailfile.txt | sendmail -t
  53.                 fi
  54.         fi
  55. fi
Advertisement
Add Comment
Please, Sign In to add comment