kisame1313

Untitled

Oct 16th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 7.20 KB | None | 0 0
  1. #! /bin/bash
  2. account_name=$1
  3. channel_name=$2
  4.  
  5. function Quit ()
  6. {
  7.     read -sn1 -p " `echo $'\n '` Do you want to exit? [y/n] `echo $'\n '` " answer5
  8.  
  9.     if [ "${answer5}" = "y" ]
  10.         then
  11.             exit 0
  12.  
  13.     elif [ "${answer5}" = "n" ]
  14.         then
  15.             Start
  16.  
  17.     else
  18.         echo -e "\nIncorrect symbol!!!\n"
  19.         Quit
  20.     fi
  21. }
  22.  
  23. function MoveToPublish ()
  24. {
  25.     ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep publish.stream
  26.     ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep pub_group.smil
  27.  
  28.     read -sn1 -p " `echo $'\n '` Is there usual [u] files or symlinks [s] or there is no files [n]? [u/s/n] `echo $'\n '` " answer1
  29.  
  30.     if [ "${answer1}" = "s" ]
  31.         then
  32.  
  33.             ls -l /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ | grep ${channel_name} | grep publish.stream
  34.             ls -l /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ | grep ${channel_name} | grep pub_group.smil
  35.  
  36.     read -sn1 -p " `echo $'\n '` Is there some _pub.group.smil or publish.stream files ? [y/n] `echo $'\n '` " answer6
  37.         if [ "${answer6}" = "y" ]
  38.         then
  39.             find /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ -name "*pub_group.smil" | xargs mv -t /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
  40.             find /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ -name "*publish.stream"| xargs mv -t /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
  41.  
  42.         elif [ "${answer6}" = "n" ]
  43.             then
  44.             Quit
  45.         else
  46.             echo "Incorrect symbol"
  47.             Quit
  48.         fi
  49.  
  50.     elif [ "${answer1}" = "u" ]
  51.         then
  52.             find /mnt/gfs/cust/${account_name}/content/ -name "*pub_group.smil" | xargs mv -t /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
  53.             find /mnt/gfs/cust/${account_name}/content/ -name "*publish.stream"| xargs mv -t /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
  54.             Quit
  55.    
  56.     elif [ "${answer1}" = "n" ]
  57.         then
  58.         Quit
  59.     else
  60.         echo "Incorrect symbol"
  61.         Quit
  62.     fi
  63. }
  64.  
  65. function MoveToRepeat ()
  66. {
  67.     ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep stream
  68.     ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep smil
  69.  
  70.     read -sn1 -p " `echo $'\n '` Is there symlinks to Repeat folder ? [y/n] `echo $'\n '` " answer2
  71.  
  72.     if [ "${answer2}" = "y" ]
  73.         then
  74.             Quit
  75.            
  76.         else [ "${answer2}" = "n" ]
  77.             find /mnt/gfs/cust/${account_name}/content/ -name "stream" | xargs mv -t  /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/
  78.             find /mnt/gfs/cust/${account_name}/content/ -name "smil" | xargs mv -t  /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/
  79.             Quit
  80.     fi
  81. }
  82.  
  83. function SVNSync ()
  84. {
  85.     read -sn1 -p " `echo $'\n '` Do you want to sync /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/ folders? [y/n] `echo $'\n '` " answer3
  86.  
  87.     if [ "${answer3}" = "y" ]
  88.         then
  89.     svn add /opt/cdn/wowza4/NSACDN/conf/${account_name}_${channel_name}Repeat/ /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
  90.     svn update /opt/cdn/wowza4/NSACDN/conf/${account_name}_${channel_name}Repeat/ /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
  91.     svn commit -m 'Changed streaming configuration files' /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
  92.     /opt/cdn/bin/pexec.sh "/opt/cdn/utils/svn update /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/" --zones=svn
  93.     Quit
  94.  
  95.     else [ "${answer3}" = "n" ]
  96.         Quit
  97.     fi
  98. }
  99.  
  100. function MNTRemove ()
  101. {
  102.     ls /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name}
  103.  
  104.     read -sn1 -p " `echo $'\n '` Is there only symlinks? [y/n] `echo $'\n '` " answer4
  105.     if [ "${answer4}" = "y" ]
  106.         then
  107.            /opt/cdn/bin/pexec.sh  "find /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | xargs rm -vf" --zones=svn
  108.             Quit
  109.  
  110.     else [ "${answer4}" = "n" ]
  111.             Quit
  112.     fi
  113. }
  114.  
  115. function PublishApplicationChange ()
  116. {
  117.     sed -i "s+/mnt/gfs/cust/${account_name}/content+/opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish+g" /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/Application.xml
  118.     sed -i "s+/mnt/gfs/cust/${account_name}/keys+/opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish+g" /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/Application.xml
  119.     cat /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/Application.xml | grep -E "/opt/cdn/wowza/NSACDN/conf/"
  120.     Quit
  121. }
  122.  
  123. function RepeatApplicationChange ()
  124. {
  125.     sed -i "s+/mnt/gfs/cust/${account_name}/content+/opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat+g" /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/Application.xml
  126.     sed -i "s+/mnt/gfs/cust/${account_name}/keys+/opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat+g" /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/Application.xml
  127.     cat /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/Application.xml | grep -E "/opt/cdn/wowza/NSACDN/conf/"
  128.     Quit
  129. }
  130.  
  131. function Start ()
  132. {
  133.     read -sn1 -p " `echo $'\n '` What do you want to do?
  134.    1 - Move _pub_group.smil and publish.stream files from ll /mnt/gfs/cust/${account_name}/content/ directory to /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/ for ${channel_name} channel ?
  135.    2 - Move stream and publish files for ${channel_name} channel from /mnt/gfs/cust/${account_name}/content/ to /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ ?
  136.    3 - Change StorageDir and KeyDir on Application.xml in /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/ ?
  137.    4 - Change StorageDir and KeyDir on Application.xml in /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ ?
  138.    5 - Sync /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ and /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/ folders for SVN zone ?
  139.    6 - Remove /mnt/gfs/cust/${account_name}/content/ files for ${channel_name} channel ?
  140.    0 - Exit ? `echo $'\n '` " answer0
  141.  
  142.    case ${answer0} in "1")
  143.         MoveToPublish
  144.         Quit ;;
  145.         "2")
  146.         MoveToRepeat
  147.         Quit ;;
  148.         "3")
  149.         PublishApplicationChange
  150.         Quit ;;
  151.         "4")
  152.         RepeatApplicationChange
  153.         Quit ;;
  154.         "5")
  155.         SVNSync
  156.         Quit ;;
  157.         "6")
  158.         MNTRemove
  159.         Quit ;;
  160.         "0")
  161.         exit 0
  162.         Quit ;;
  163.     esac
  164. }
  165.  
  166. if [ -z "${account_name}" ]
  167.     then
  168.     echo -e "\nAccount name wasn't set\n"
  169.     exit 0
  170.  
  171. elif [ -z "${channel_name}" ]
  172.     then
  173.     echo -e "\nChannel name wasn't set\n"
  174.     exit 0
  175. else
  176.     Start
  177. fi
Advertisement
Add Comment
Please, Sign In to add comment