Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
W
Warden - archive
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
713
Warden
Warden - archive
Commits
a8ccc718
Commit
a8ccc718
authored
11 years ago
by
Tomáš Plesník
Browse files
Options
Downloads
Patches
Plain Diff
uprava podle Auditu shellovych skriptu
parent
d6077d9a
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/warden-server/sh/update.sh
+66
-105
66 additions, 105 deletions
src/warden-server/sh/update.sh
with
66 additions
and
105 deletions
src/warden-server/sh/update.sh
+
66
−
105
View file @
a8ccc718
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
#
#
# update.sh
# update.sh
#
#
# Copyright (C) 2011-201
3
Cesnet z.s.p.o
# Copyright (C) 2011-201
4
Cesnet z.s.p.o
#
#
# Use of this source is governed by a BSD-style license, see LICENSE file.
# Use of this source is governed by a BSD-style license, see LICENSE file.
...
@@ -10,19 +10,18 @@
...
@@ -10,19 +10,18 @@
VERSION
=
"2.2"
VERSION
=
"2.2"
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
#
FUNCTIONS
#
Script functions
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
usage
()
usage
()
{
{
echo
"Usage:
`
basename
$0
`
[
-d <directory>
]
[-hV]"
echo
"Usage:
${
0
##*/
}
-d <directory> [-hV]"
echo
"-d <directory> destination directory
(default: /opt)
"
echo
"-d <directory> destination directory
of Warden server
"
echo
"-h print this help"
echo
"-h print this help"
echo
"-V print script version number and exit"
echo
"-V print script version number and exit"
echo
echo
echo
"Example:
#
./
`
basename
$0
`
-d /opt
"
echo
"Example:
$
./
${
0
##*/
}
-d /opt/warden-server
"
echo
echo
echo
"Note: You must be root for running this script."
echo
"For more information about update process, see README file (section Update)."
echo
" For more information about update process, see README file (section Update)."
echo
echo
exit
0
exit
0
}
}
...
@@ -30,7 +29,7 @@ usage()
...
@@ -30,7 +29,7 @@ usage()
version
()
version
()
{
{
echo
"
`
basename
${
0
}
`
- current version is
$VERSION
"
echo
"
${
0
##*/
}
- current version is
$VERSION
"
exit
0
exit
0
}
}
...
@@ -38,9 +37,9 @@ version()
...
@@ -38,9 +37,9 @@ version()
err
()
err
()
{
{
echo
"FAILED!"
echo
"FAILED!"
cat
$err
cat
"
$err
"
rm
-
r
f
$err
rm
-f
"
$backup
"
rm
-
r
f
$backup_dir
rm
-f
"
$err
"
echo
echo
echo
"Update from
$old_package_version
to
$package_version
package FAILED!!!"
echo
"Update from
$old_package_version
to
$package_version
package FAILED!!!"
exit
1
exit
1
...
@@ -54,44 +53,42 @@ errClean()
...
@@ -54,44 +53,42 @@ errClean()
rm
-rf
${
server_path
}
/
*
>
/dev/null 2>&1
rm
-rf
${
server_path
}
/
*
>
/dev/null 2>&1
cp
-R
${
backup_dir
}
/
*
$server_path
cp
-R
${
backup_dir
}
/
*
$server_path
cat
$err
cat
$err
rm
-rf
$err
$backup
_dir
rm
-rf
$err
$backup
echo
echo
echo
"Update from
$old_package_version
to
$package_version
package FAILED!!!"
echo
"Update from
$old_package_version
to
$package_version
package FAILED!!!"
exit
1
exit
1
}
}
rootChck
()
{
if
[
$UID
-ne
0
]
;
then
echo
"You must be root for running this script!"
exit
1
fi
}
paramsChck
()
paramsChck
()
{
{
if
[
-z
$prefix
]
;
then
if
[
-z
"
$basedir
"
]
;
then
echo
"Parameter -d <directory> is not set!"
echo
"Parameter -d <directory> is not set!"
exit
1
exit
1
fi
fi
}
}
obtainPackageVersion
()
#-------------------------------------------------------------------------------
# Installation functions
#-------------------------------------------------------------------------------
oldPackageChck
()
{
{
if
[
-f
$old_package_version_file
]
;
then
echo
-n
"Checking previous Warden server installation ... "
old_package_version
=
`
cat
$old_package_version_file
`
old_package_version_file
=
$(
find
"
$basedir
"
-name
package_version
)
if
[
-f
"
$old_package_version_file
"
]
;
then
old_package_version
=
$(
<
"
$old_package_version_file
"
)
if
[
"
$old_package_version
"
==
"
$package_version
"
]
;
then
if
[
"
$old_package_version
"
==
"
$package_version
"
]
;
then
echo
"Sorry, but
$package_version
package is already installed!"
echo
"Sorry, but
$package_version
package is already installed!"
exit
1
exit
1
fi
fi
else
else
echo
"Sorry, but Warden server package is not installed!"
echo
"Sorry, but Warden server package is not
yet
installed!"
echo
"For installation of Warden server package please use install.sh
script.
"
echo
"For installation of Warden server package please use install.sh"
exit
1
exit
1
fi
fi
echo
"OK"
}
}
...
@@ -102,68 +99,42 @@ perlChck()
...
@@ -102,68 +99,42 @@ perlChck()
echo
"OK"
echo
"OK"
else
else
echo
"FAILED!"
echo
"FAILED!"
echo
echo
"Error: Perl interpreter is not installed!"
echo
"Error: Perl interpreter is not installed!"
exit
1
exit
1
fi
fi
}
}
rsyncChck
()
{
echo
-n
"Checking Rsync ... "
if
which rsync 1> /dev/null
;
then
echo
"OK"
else
echo
"FAILED!"
echo
"Error: Rsync is not installed!"
exit
1
fi
}
modulesChck
()
modulesChck
()
{
{
for
module
in
${
modules
[@]
}
;
sed
'/^use [A-Z]/!d; /Warden/d'
$(
find
"
${
dirname
}
"
-type
f
)
2>/dev/null |
cut
-f
2
-d
" "
|
sed
's/;//'
|
sort
-u
|
\
while
read
module
;
do
do
echo
-n
"Checking
$module
module ... "
echo
-n
"Checking
$module
module ... "
if
perl
-e
"use
$module
"
2>
$err
;
then
perl
-e
"use
$module
"
2>
"
$err
"
&&
echo
"OK"
||
err
echo
"OK"
else
err
fi
done
done
}
}
wardenDirChck
()
wardenDirChck
()
{
{
echo
-n
"Checking Warden server directory ... "
echo
-n
"Checking Warden server directory ... "
if
[
!
-d
$server_path
]
;
then
if
[
[
!
-d
"
$basedir
"
]]
&&
[[
!
-w
"
$basedir
"
]
]
;
then
echo
"FAILED!"
echo
"FAILED!"
ls
$server_path
echo
"No version of Warden server is not installed!"
exit
1
exit
1
else
else
echo
"OK"
echo
"OK"
fi
fi
}
}
backup
()
backup
()
{
{
echo
-n
"Backing-up Warden server directory ... "
echo
-n
"Making Warden server backup ... "
mkdir
$backup_dir
mkdir
$backup
if
cp
-R
${
server_path
}
/
*
$backup_dir
2>
$err
;
then
if
cp
-R
"
${
basedir
}
/"
*
"
$backup
"
2>
"
$err
"
;
then
echo
"OK"
else
err
fi
}
obtainWardenUser
()
{
echo
-n
"Obtaining Warden server directory owner ... "
if
user
=
`
stat
-c
%U
$server_conf_file
`
2>
$err
;
then
echo
"OK"
echo
"OK"
else
else
err
err
...
@@ -173,14 +144,8 @@ obtainWardenUser()
...
@@ -173,14 +144,8 @@ obtainWardenUser()
updateWardenDir
()
updateWardenDir
()
{
{
echo
-n
"Updating Warden server directory ... "
echo
-n
"Updating Warden server ... "
if
rsync
-q
--recursive
--archive
--delete
--exclude
=
'etc'
--exclude
=
'sh'
${
dirname
}
/warden-server
$prefix
2>
$err
;
then
echo
"OK"
else
errClean
fi
cp
${
dirname
}
/warden-server/etc/package_version
$etc
cp
${
dirname
}
/uninstall.sh
$server_path
}
}
...
@@ -328,65 +293,61 @@ $valid_strings" > $server_conf_file 2> $err; ret_val=`echo $?`
...
@@ -328,65 +293,61 @@ $valid_strings" > $server_conf_file 2> $err; ret_val=`echo $?`
# MAIN
# MAIN
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# list of used Perl modules
modules
=(
SOAP::Lite SOAP::Transport::HTTP DBI DBD::mysql Format::Human::Bytes Sys::Syslog File::Basename Net::CIDR::Lite DateTime Getopt::Std Switch IO::Socket::SSL MIME::Base64 Crypt::X509 Carp FindBin
)
# read input
# read input
while
getopts
"d:Vh"
options
;
do
while
getopts
"d:Vh"
options
;
do
case
$options
in
case
"
$options
"
in
d
)
prefix
=
$OPTARG
;;
d
)
basedir
=
"
$OPTARG
"
;;
h
)
usage
;;
h
)
usage
;;
V
)
version
;;
V
)
version
;;
*
)
usage
;;
*
)
usage
;;
esac
esac
done
done
# r
oot t
es
t
# r
emove last char (slash) from name of directori
es
rootChck
[[
"
$basedir
"
==
*
/
]]
&&
basedir
=
"
${
basedir
%?
}
"
# params test
# params test
paramsChck
paramsChck
# create variables
# set variables
dirname
=
`
dirname
$0
`
package_version
=
`
cat
${
dirname
}
/warden-server/etc/package_version
`
[[
$prefix
==
*
/
]]
&&
prefix
=
"
${
prefix
%?
}
"
# remove last char (slash) from prefix
server_path
=
"
${
prefix
}
/warden-server"
etc
=
"
${
server_path
}
/etc"
doc
=
"
${
server_path
}
/doc"
old_package_version_file
=
"
${
etc
}
/package_version"
apache_conf_file
=
"
${
etc
}
/warden-apache.conf"
server_conf_file
=
"
${
etc
}
/warden-server.conf"
err
=
"/tmp/warden-err"
err
=
"/tmp/warden-err"
backup_dir
=
"/tmp/warden-server-backup"
backup
=
"/tmp/warden-server-backup"
hostname
=
$(
hostname
-f
||
echo
"unspecified.server"
)
dirname
=
${
0
%/*
}
doc
=
"
${
basedir
}
/doc"
etc
=
"
${
basedir
}
/etc"
server_conf
=
"
${
etc
}
/warden-server.conf"
apache_conf
=
"
${
etc
}
/warden-apache.conf"
watchdog_conf
=
"
${
etc
}
/warden-watchdog.conf"
server_conf_tmpl
=
"
${
dirname
}
/etc/warden-server.conf.tmpl"
apache_conf_tmpl
=
"
${
dirname
}
/etc/warden-apache.conf.tmpl"
watchdog_conf_tmpl
=
"
${
dirname
}
/etc/warden-watchdog.conf.tmpl"
package_version
=
$(
<
"
${
dirname
}
/etc/package_version"
)
manifest
=
"
${
dirname
}
/doc/MANIFEST"
# obtain version of old warden server
obtainPackageVersion
echo
echo
echo
"------------------------- Dependencies check-in -------------------------"
echo
"------------------------- Dependencies check-in -------------------------"
# check warden server directory
wardenDirChck
#
oldPackageChck
# Perl interpreter test
# Perl interpreter test
perlChck
perlChck
# Rsync availability test
rsyncCheck
# Perl modules test
# Perl modules test
modulesChck
modulesChck
echo
echo
echo
"------------------------- Update process --------------------------------"
echo
"------------------------- Update process --------------------------------"
# check warden server directory
wardenDirChck
# backup old warden server installation
# backup old warden server installation
backup
backup
# obtain current warden server user
obtainWardenUser
# make warden server directory
# make warden server directory
updateWardenDir
updateWardenDir
...
@@ -406,6 +367,6 @@ echo "Please follow post-update steps in ${doc}/UPDATE!"
...
@@ -406,6 +367,6 @@ echo "Please follow post-update steps in ${doc}/UPDATE!"
echo
echo
# cleanup section
# cleanup section
rm
-rf
$err
$backup
_dir
rm
-rf
$err
$backup
exit
0
exit
0
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment