Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/bash
- account_name=$1
- channel_name=$2
- PHosts=()
- PHosts[0]=$(ls /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/ | grep publish.stream | awk -F "." '{print $1}' | uniq | awk 'NR==1 {print $1}')
- PHosts[1]=$(ls /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/ | grep publish.stream | awk -F "." '{print $1}' | uniq | awk 'NR==2 {print $1}')
- function Quit ()
- {
- read -sn1 -p " `echo $'\n'` Do you want to exit? [y/n] `echo $'\n'` " answer2
- if [ "${answer2}" = "y" ]
- then
- exit 0
- elif [ "${answer2}" = "n" ]
- then
- Start
- else
- echo -e "\nIncorrect symbol!!!\n"
- Quit
- fi
- }
- function MoveToPublish ()
- { echo "
- -----------------------------------------/mnt/gfs/cust/${account_name}/content/-------------------------------------------------------------
- "
- symlinks_count_1=$(find /mnt/gfs/cust/${account_name}/content/ -type l | grep ${channel_name} | grep publish.stream | wc -l)
- echo "${symlinks_count_1} publish.stream symlinks founded"
- symlinks_count_2=$(ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep publish.stream | wc -l)
- echo "${symlinks_count_2} publish.stream files founded"
- symlinks_count_3=$(find /mnt/gfs/cust/${account_name}/content/ -type l | grep ${channel_name} | grep pub_group.smil | wc -l)
- echo "${symlinks_count_3} pub_group.smil symlinks founded"
- symlinks_count_4=$(ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep pub_group.smil | wc -l)
- echo "${symlinks_count_4} pub_group.smil files founded"
- echo "
- -------------------------------/opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/---------------------------------------------
- "
- symlinks_count_5=$(find /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ -type f | grep ${channel_name} | grep publish.stream | wc -l)
- echo "${symlinks_count_5} publish.stream files founded in "
- symlinks_count_6=$(find /mnt/gfs/cust/${account_name}/content/ -type f | grep ${channel_name} | grep pub_group.smil | wc -l)
- echo "${symlinks_count_6} pub_group.smil files founded"
- echo "
- ---------------------------------------------------------------------------------------------------------------------------------------------
- "
- if [ ${symlinks_count_1} > 0 ] && [ ${symlinks_count_2} = 0 ]
- then
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep publish.stream | awk '$10=="->"' | awk '{print $11}' | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep publish.stream | xargs rm -v
- elif [ ${symlinks_count_1} > 0 ] && [ ${symlinks_count_2} > 0 ]
- then
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep publish.stream | awk '$10=="->"' | awk '{print $11}' | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- find /mnt/gfs/cust/${account_name}/content/ -type l | grep ${channel_name} | grep publish.stream | xargs rm -v
- find /mnt/gfs/cust/${account_name}/content/ -type f | grep ${channel_name} | grep publish.stream | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- elif [ ${symlinks_count_1} = 0 ] && [ ${symlinks_count_2} = 0 ]
- then
- echo "No files have been found! "
- elif [ ${symlinks_count_1} = 0 ] && [ ${symlinks_count_2} > 0 ]
- then
- find /mnt/gfs/cust/${account_name}/content/ -type f | grep ${channel_name} | grep publish.stream | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- else
- echo "Unknown error"
- fi
- if [ ${symlinks_count_3} > 0 ] && [ ${symlinks_count_4} = 0 ]
- then
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep pub_group.smil | awk '$10=="->"' | awk '{print $11}' | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep pub_group.smil | xargs rm -v
- elif [ ${symlinks_count_3} > 0 ] && [ ${symlinks_count_4} > 0 ]
- then
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep pub_group.smil | awk '$10=="->"' | awk '{print $11}' | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- find /mnt/gfs/cust/${account_name}/content/ -type l | grep ${channel_name} | grep pub_group.smil | xargs rm -v
- find /mnt/gfs/cust/${account_name}/content/ -type f | grep ${channel_name} | grep pub_group.smil | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- elif [ ${symlinks_count_3} = 0 ] && [ ${symlinks_count_4} = 0 ]
- then
- echo "No files have been found! "
- elif [ ${symlinks_count_3} = 0 ] && [ ${symlinks_count_4} > 0 ]
- then
- find /mnt/gfs/cust/${account_name}/content/ -type f | grep ${channel_name} | grep pub_group.smil | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- else
- echo "Unknown error"
- fi
- if [ ${symlinks_count_5} > 0 ] || [ ${symlinks_count_6} > 0 ]
- then
- find /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ -type f | grep ${channel_name} | grep _pub_group.smil | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- find /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/ -type f | grep ${channel_name} | grep publish.stream | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/
- fi
- /opt/cdn/bin/pexec.sh "rename -v 's%${PHosts[1]}.%%' /mnt/gfs/cust/${account_name}/content/*publish.stream" --hosts=svn
- /opt/cdn/bin/pexec.sh "rm -v /mnt/gfs/cust/${account_name}/content/${PHosts[0]}*" --hosts=svn
- }
- function MoveToRepeat ()
- {
- echo "# of symlinks:"
- rep_count1=$(find /mnt/gfs/cust/${account_name}/content/ -type l | grep ${channel_name} | grep stream | grep -v publish.stream | wc -l)
- echo "${rep_count1} for stream files"
- rep_count2=$(find /mnt/gfs/cust/${account_name}/content/ -type l | grep ${channel_name} | grep smil |grep -v pub_group.smil | wc -l)
- echo "${rep_count2} for smil files"
- echo "
- # of files:"
- echo "for stream files"
- rep_count3=$(find /mnt/gfs/cust/${account_name}/content/ -type f | grep ${channel_name} | grep stream | grep -v publish.stream | wc -l)
- echo "for smil files"
- rep_count4=$(find /mnt/gfs/cust/${account_name}/content/ -type f | grep ${channel_name} | grep smil | grep -v pub_group.smil | wc -l)
- if [ ${rep_count1} > 0 ]
- then
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep stream | grep -v publish.stream | awk '$10=="->"' | awk '{print $11}' | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep stream | grep -v publish.stream | xargs rm -v
- elif [ ${rep_count2} > 0 ]
- then
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep smil| grep -v pub_group.smil | awk '$10=="->"' | awk '{print $11}' | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/
- ls -l /mnt/gfs/cust/${account_name}/content/ | grep ${channel_name} | grep smil | grep -v pub_group.smil | xargs rm -v
- elif [ ${rep_count3} > 0 ]
- then
- find /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/ -type f | grep ${channel_name} | grep stream | grep -v publish.stream | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/
- elif [ ${rep_count4} > 0 ]
- then
- find /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish/ -type f | grep ${channel_name} | grep smil | grep -v _pub_group.smil | xargs -i svn mv {} /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat/
- else
- echo "No files found"
- fi
- }
- function SVNSync ()
- {
- svn add /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish
- svn update /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Repeat /opt/cdn/wowza/NSACDN/conf/${account_name}_${channel_name}Publish
- svn commit -m 'Changed stream smil files folders' /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
- }
- function ContentRemove ()
- {
- counter=$(find /mnt/gfs/cust/${account_name}/content/ -type f | grep ${channel_name} | wc -l)
- if [ ${counter} = 0 ]
- then
- /opt/cdn/bin/pexec.sh "find /mnt/gfs/cust/${account_name}/content/ | grep -E "${channel_name}" | xargs rm -vf" --zones=svn
- else
- echo "
- Some files have been found!!!
- "
- 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/"
- }
- 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/"
- }
- 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 ?
- 7 - All of the above.
- 0 - Exit ? `echo $'\n'` " answer0
- case ${answer0} in "1")
- MoveToPublish
- Quit ;;
- "2")
- MoveToRepeat
- Quit ;;
- "3")
- PublishApplicationChange
- Quit ;;
- "4")
- RepeatApplicationChange
- Quit ;;
- "5")
- SVNSync
- Quit ;;
- "6")
- ContentRemove
- Quit ;;
- "7")
- MoveToPublish
- MoveToRepeat
- PublishApplicationChange
- RepeatApplicationChange
- SVNSync
- ContentRemove
- 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
Advertisement