解决了,或者说绕过了某些虚机不能在systemd非root用户服务里不能调用sudo的问题
This commit is contained in:
parent
66b020b005
commit
dba1a7b717
@ -1,4 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
## Usage
|
||||||
|
# 如果虚机上的shell里面不能执行sudu,这个脚本就能派上用场,在root用户下执行此脚本,也就绕过sudo限制了
|
||||||
|
## ./checkService.sh ztsjxxxt.jar "/usr/local/jar" ztsjxxxt "/home/ubuntu/" "production/investigate/backEnd/"
|
||||||
|
|
||||||
|
|
||||||
fileName=$1
|
fileName=$1
|
||||||
projectPath=$2
|
projectPath=$2
|
||||||
serviceName=$3
|
serviceName=$3
|
||||||
@ -7,9 +12,6 @@ ossPath=$5
|
|||||||
|
|
||||||
PATH=PATH:/usr/bin:/usr/sbin
|
PATH=PATH:/usr/bin:/usr/sbin
|
||||||
|
|
||||||
## Usage
|
|
||||||
## ./checkService.sh ztsjxxxt.jar "/usr/local/jar" ztsjxxxt "/home/ubuntu/"
|
|
||||||
|
|
||||||
cd $workDirectory
|
cd $workDirectory
|
||||||
echo "current path: $(pwd)"
|
echo "current path: $(pwd)"
|
||||||
if [ ! -f "$fileName" ];then
|
if [ ! -f "$fileName" ];then
|
||||||
@ -39,10 +41,12 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ${oriSum} = ${desSum} ];then
|
if [ ${oriSum} = ${desSum} ];then
|
||||||
|
journalctl -n 1000 -xe -t autoDeploy > ${workDirectory}autoDeploy.log
|
||||||
|
${workDirectory}ossutil cp ${workDirectory}autoDeploy.log oss://ztupload/${ossPath}autoDeploy.log
|
||||||
echo "destination file is same with origin file,no need to replace"
|
echo "destination file is same with origin file,no need to replace"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
sudo systemctl restart $serviceName
|
systemctl restart $serviceName
|
||||||
sleep 10
|
sleep 10
|
||||||
journalctl -n 1000 -xe -t autoDeploy > ${workDirectory}autoDeploy.log
|
journalctl -n 1000 -xe -t autoDeploy > ${workDirectory}autoDeploy.log
|
||||||
${workDirectory}ossutil cp ${workDirectory}autoDeploy.log oss://ztupload/${ossPath}autoDeploy.log
|
${workDirectory}ossutil cp ${workDirectory}autoDeploy.log oss://ztupload/${ossPath}autoDeploy.log
|
||||||
|
@ -15,9 +15,6 @@ fi
|
|||||||
|
|
||||||
echo "2"
|
echo "2"
|
||||||
rm dist -fr
|
rm dist -fr
|
||||||
unzip $fileName
|
|
||||||
echo "projectName: ${projectName}"
|
|
||||||
mv dist ~/$projectName
|
|
||||||
echo "3"
|
echo "3"
|
||||||
oriSum=$(md5sum $fileName)
|
oriSum=$(md5sum $fileName)
|
||||||
oriSum="${oriSum% *}"
|
oriSum="${oriSum% *}"
|
||||||
@ -52,6 +49,12 @@ if [ ${oriSum} = ${desSum} ];then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
cd ~
|
||||||
|
unzip $fileName
|
||||||
|
echo "projectName: ${projectName}"
|
||||||
|
mv dist ~/$projectName
|
||||||
|
cd $projectPath
|
||||||
|
|
||||||
echo "8"
|
echo "8"
|
||||||
if [ -d "$projectName"_bak2 ];then
|
if [ -d "$projectName"_bak2 ];then
|
||||||
rm "${projectName}"_bak2 -fr
|
rm "${projectName}"_bak2 -fr
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#usage:
|
# usage:
|
||||||
|
## 这个脚本能正常工作的前提是 systemd脚本如果不是root,也能通过sudo 调用高级权限来执行。
|
||||||
|
## 否则就要结合checkService.sh一起使用。那个单独放在一个服务里,用root用户执行
|
||||||
# ./ossUpgrade.sh "stage/ztsjxxxt/frontEnd/" html.zip ztsjxxxt
|
# ./ossUpgrade.sh "stage/ztsjxxxt/frontEnd/" html.zip ztsjxxxt
|
||||||
ossPath=$1 #末尾别忘了加/
|
ossPath=$1 #末尾别忘了加/
|
||||||
fileName=$2
|
fileName=$2
|
||||||
|
serviceName=$3
|
||||||
projectName="${fileName%.*}"
|
projectName="${fileName%.*}"
|
||||||
|
|
||||||
PATH=PATH:/usr/bin:/usr/sbin
|
PATH=PATH:/usr/bin:/usr/sbin
|
||||||
@ -33,7 +36,13 @@ all=$ossSum
|
|||||||
echo "oriMd5: "$all
|
echo "oriMd5: "$all
|
||||||
all=$curSum
|
all=$curSum
|
||||||
echo "curMd5: "$all
|
echo "curMd5: "$all
|
||||||
|
logPath=${ossPath%/*}
|
||||||
|
logPath=${logPath%/*}/logs/
|
||||||
|
osslogPath=oss://ztupload/${logPath}autoDeploy.log
|
||||||
if [ ${ossSum} = ${curSum} ];then
|
if [ ${ossSum} = ${curSum} ];then
|
||||||
|
sudo journalctl -n 1000 -xe -t autoDeploy > ~/autoDeploy.log
|
||||||
|
./ossutil cp ~/autoDeploy.log ${osslogPath} -f
|
||||||
|
echo "uploaded log to ${osslogPath}"
|
||||||
echo "destination file is same with oss file,no need to replace"
|
echo "destination file is same with oss file,no need to replace"
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
@ -42,5 +51,12 @@ fi
|
|||||||
|
|
||||||
rm $fileName
|
rm $fileName
|
||||||
echo "fileName: " $fileName
|
echo "fileName: " $fileName
|
||||||
./ossutil cp oss://ztupload/${ossPath}${fileName} ${fileName}
|
./ossutil cp oss://ztupload/${ossPath}${fileName} ${fileName}
|
||||||
|
|
||||||
|
sudo systemctl restart $serviceName
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
sudo journalctl -n 1000 -xe -t autoDeploy > ~/autoDeploy.log
|
||||||
|
./ossutil cp ~/autoDeploy.log osslogPath -f
|
||||||
echo "replaced"
|
echo "replaced"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user