Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/bash
- account_name=$1
- channel_name=$2
- function Quit ()
- {
- read -sn1 -p " `echo $'\n '` Do you want to exit? [y/n] `echo $'\n '` " answer5
- if [ "${answer5}" = "y" ]
- then
- exit 0
- elif [ "${answer5}" = "n" ]
- then
- Start
- else
- echo -e "\nIncorrect symbol!!!\n"
- Quit
- fi
- }
- function MoveToPublish ()
- {
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep publish.stream
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep pub_group.smil
- 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
- if [ "${answer1}" = "s" ]
- then
- ls -l /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ | grep ${channel_name} | grep publish.stream
- ls -l /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ | grep ${channel_name} | grep pub_group.smil
- read -sn1 -p " `echo $'\n '` Is there some _pub.group.smil or publish.stream files ? [y/n] `echo $'\n '` " answer6
- if [ "${answer6}" = "y" ]
- then
- 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/
- 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/
- elif [ "${answer6}" = "n" ]
- then
- Quit
- else
- echo "Incorrect symbol"
- Quit
- fi
- elif [ "${answer1}" = "u" ]
- then
- find /mnt/gfs/cust/${account_name}/content/ -name "*pub_group.smil" | xargs mv -t /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- find /mnt/gfs/cust/${account_name}/content/ -name "*publish.stream"| xargs mv -t /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- Quit
- elif [ "${answer1}" = "n" ]
- then
- Quit
- else
- echo "Incorrect symbol"
- Quit
- fi
- }
- function MoveToRepeat ()
- {
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep stream
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep smil
- read -sn1 -p " `echo $'\n '` Is there symlinks to Repeat folder ? [y/n] `echo $'\n '` " answer2
- if [ "${answer2}" = "y" ]
- then
- Quit
- else [ "${answer2}" = "n" ]
- find /mnt/gfs/cust/${account_name}/content/ -name "stream" | xargs mv -t /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/
- find /mnt/gfs/cust/${account_name}/content/ -name "smil" | xargs mv -t /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/
- Quit
- fi
- }
- function SVNSync ()
- {
- 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
- if [ "${answer3}" = "y" ]
- then
- svn add /opt/cdn/wowza4/NSACDN/conf/${account_name}_${channel_name}Repeat/ /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- svn update /opt/cdn/wowza4/NSACDN/conf/${account_name}_${channel_name}Repeat/ /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- 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/
- /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
- Quit
- else [ "${answer3}" = "n" ]
- Quit
- fi
- }
- function MNTRemove ()
- {
- ls /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name}
- read -sn1 -p " `echo $'\n '` Is there only symlinks? [y/n] `echo $'\n '` " answer4
- if [ "${answer4}" = "y" ]
- then
- /opt/cdn/bin/pexec.sh "find /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | xargs rm -vf" --zones=svn
- Quit
- else [ "${answer4}" = "n" ]
- Quit
- fi
- }
- function PublishApplicationChange ()
- {
- 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
- 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
- cat /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/Application.xml | grep -E "/opt/cdn/wowza/NSACDN/conf/"
- Quit
- }
- function RepeatApplicationChange ()
- {
- 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
- 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
- cat /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/Application.xml | grep -E "/opt/cdn/wowza/NSACDN/conf/"
- Quit
- }
- function Start ()
- {
- read -sn1 -p " `echo $'\n '` What do you want to do?
- 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 ?
- 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/ ?
- 3 - Change StorageDir and KeyDir on Application.xml in /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/ ?
- 4 - Change StorageDir and KeyDir on Application.xml in /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ ?
- 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 ?
- 6 - Remove /mnt/gfs/cust/${account_name}/content/ files for ${channel_name} channel ?
- 0 - Exit ? `echo $'\n '` " answer0
- case ${answer0} in "1")
- MoveToPublish
- Quit ;;
- "2")
- MoveToRepeat
- Quit ;;
- "3")
- PublishApplicationChange
- Quit ;;
- "4")
- RepeatApplicationChange
- Quit ;;
- "5")
- SVNSync
- Quit ;;
- "6")
- MNTRemove
- Quit ;;
- "0")
- exit 0
- Quit ;;
- esac
- }
- if [ -z "${account_name}" ]
- then
- echo -e "\nAccount name wasn't set\n"
- exit 0
- elif [ -z "${channel_name}" ]
- then
- echo -e "\nChannel name wasn't set\n"
- exit 0
- else
- Start
- fi
Advertisement
Add Comment
Please, Sign In to add comment