"Help with bash script" - "License Server and Patch Updates"


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers "Help with bash script" - "License Server and Patch Updates"
# 8  
Old 03-28-2014
I guess you will be running SuSE, could you please provide cat /etc/*release output for me.

For the server name you can use this

Code:
HOSTNAME=`hostname`

If you are using SuSE, then to install dos2unix you can actually search for dos2unix by running zypper-

Code:
#zypper search dos2unix

If the package name is indeed dos2unix then just run below command to install it

Code:
#zypper install dos2unix

OR if you don't want to install the package you can used sed or vi commands to remove the ^M characters.

1) Take a backup of your script
2) Remove ^M characters.

Code:
#sed -i 's/^M//g' /var/tmp/vimv3.sh

Run the script

Last edited by Corona688; 03-28-2014 at 02:39 PM..
# 9  
Old 03-28-2014
Code:
[root@xen01 ~]# sed -i 's/^M/g' /var/tmp/vimv3.sh
sed: -e expression #1, char 6: unterminated `s' command
[root@xen01 ~]#

The error above was returned after running sed

The cat response is given below:
Code:
[root@xen01 ~]# cat /var/tmp/vimv3.sh                                                                                                                                   #!/bin/bash
clear
# Wait before start
sleep 60
# Assign License to server
#HOSTNAME=$(hostname)echo $HOSTNAME
#HOSTUUID=$(xe host-list name-label=$HOSTNAME --minimal)
#xe host-apply-edition edition=platinum host-uuid=$HOSTUUID license-server-
#address=192.168.10.34 license-server-port=27000
# Xenupdates Starts Here.....
# Install XenServer Updates
HOSTUUID=$(xe host-list name-label=$HOSTNAME --minimal)
cd /tmp
if [ -a /tmp/secondboot ]
                        then
                                echo "Secondboot"
                        else
                                mkdir updates
                                cd updates
                                echo "Downloading Updates..."
                        wget ftp:double forward slash192.168.10.5forward slash FTPforward slash xen62forward slash*.xsupdate
                        cd /tmp
                        touch /tmp/secondboot
fi
for update in ls `/tmp/updates`; do
                        sleep 60
echo "Uploading Update $updatefile ..."
echo "Uploading Update $updatefile ..." >> /var/log/messages
PATCHUUID=$(xe patch-upload file-name=/tmp/updates/$updatefile)
sleep 10
echo "Installing Update $updatefile ..."
echo "Installing Update $updatefile ...">> /var/log/messages
xe patch-apply host-uuid=$HOSTUUID uuid=$PATCHUUID
rm -f /tmp/updates/$updatefile
PATCHACTION=$(xe patch-list uuid=$PATCHUUID params=after-apply-guidance --minima                                                                                        l)
if [ "$PATCHACTION" == "restartXAPI" ]
then
/opt/xensource/bin/xe-toolstack-restart
sleep 60
elif [ "$PATCHACTION" == "restartHost" ]; then
reboot;
sleep 60
fi
done
#Disable first boot script for subsequent reboots
rm -f /etc/rc3.d/s99zzpostinstall
# Final Reboot
reboot


Last edited by Corona688; 03-28-2014 at 02:34 PM.. Reason: Code tags for code, please.
# 10  
Old 03-28-2014
Sorry there was a typo. Missed / in the sed command. Please try this

Code:
sed -i 's/^M/g/' /var/tmp/vimv3.sh

If you still get ^M error then other way is to use vi to remove it.

Code:
#vi /var/tmp/vimv3.sh

press "ESC" then ":" type "set list"

Then you should be able to see ^M characters, remove it manually

Last edited by Corona688; 03-28-2014 at 02:39 PM..
# 11  
Old 03-28-2014
Thanks npandith,
so that's press ESC full colon only or in those quotes sane for set list

---------- Post updated at 04:19 PM ---------- Previous update was at 04:18 PM ----------

same''' for set list in quotes or without quotes ?

---------- Post updated at 04:21 PM ---------- Previous update was at 04:19 PM ----------

oh ! something else,
Should the server name be in parentheses or without ?
# 12  
Old 03-28-2014
hostname can be without parentheses.

HOSTNAME=`hostname`

Last edited by npandith; 04-01-2014 at 11:07 AM..
# 13  
Old 03-28-2014
Code:
[root@xen01 tmp]# vi /var/tmp/vimv3.sh ":" "set list"
3 files to edit
# Assign License to server
HOSTNAME=$192.168.10.15 echo $HOSTNAME
HOSTUUID=$(xe host-list name-label=$HOSTNAME --minimal)
xe host-apply-edition edition=platinum host-uuid=$HOSTUUID license-server-address=192.168.10.34 license-server-port=27000
# Xenupdates Starts Here.....
Install XenServer Updates
HOSTUUID=$(xe host-list name-label=$HOSTNAME --minimal)
cd /tmp
if [ -a /tmp/secondboot ]
                        then
                                echo "Secondboot"
                        else
                                mkdir updates
                                cd updates
                                echo "Downloading Updates..."
                        wget ftp://192.168.10.5/FTP/xen62/*.xsupdate
                        cd /tmp
                        touch /tmp/secondboot
fi
for update in ls `/tmp/updates`; do
                        sleep 60
echo "Uploading Update $updatefile ..."
echo "Uploading Update $updatefile ..." >> /var/log/messages
PATCHUUID=$(xe patch-upload file-name=/tmp/updates/$updatefile)
sleep 10
echo "Installing Update $updatefile ..."
echo "Installing Update $updatefile ...">> /var/log/messages
xe patch-apply host-uuid=$HOSTUUID uuid=$PATCHUUID
rm -f /tmp/updates/$updatefile
PATCHACTION=$(xe patch-list uuid=$PATCHUUID params=after-apply-guidance --minimal)
if [ "$PATCHACTION" == "restartXAPI" ]
then
/opt/xensource/bin/xe-toolstack-restart
sleep 60
elif [ "$PATCHACTION" == "restartHost" ]; then
reboot;
sleep 60
fi
done
#Disable first boot script for subsequent reboots
rm -f /etc/rc3.d/s99zzpostinstall
# Final Reboot
reboot

---------- Post updated at 04:30 PM ---------- Previous update was at 04:26 PM ----------

Hi Npandith,

I'm away from the console for this evening local time 16:29 UK.

I will continue again later on in the night. Thanks for your patience so far.

Last edited by Corona688; 03-28-2014 at 02:36 PM.. Reason: CODE TAGS!
# 14  
Old 03-28-2014
Quote:
Originally Posted by npandith
hostname can be without parentheses.
HOSTNAME=`hostname`
Should use HOSTNAME=$(hostname)
That is for less quoting issues (afaik/r)
Also, if you just want the hostname without the domain: HOSTNAME=$(hostname -s)
 
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies

2. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

3. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

4. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

5. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

6. Shell Programming and Scripting

Simplify Bash Script Using "sed" Or "awk"

Input file: 2 aux003.net3.com error12 6 awn0117.net1.com error13 84 aux008 error14 29 aux001.ha.ux.isd.com error12 209 aux002.vm.ux.isd.com error34 21 alx0027.vm.net2.com error12 227 dux001.net5.com error123 22 us008.dot.net2.com error121 13 us009.net2.com error129Expected Output: 2... (4 Replies)
Discussion started by: sQew
4 Replies

7. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

8. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies
Login or Register to Ask a Question