一段部署shell
#!/usr/bin/env bash
# 目標伺服器ip
host=
$1# 目標伺服器端口
port=225
# 部署目錄
deploy_dir=
$2# 環境
env=
$3# 備份目錄
bak_dir=
"/deploy_bak/"
bak_file=
"$api_"
$(date +%y%m%d%h%m%s)
".tar.gz"
runtime_dir=
"$/runtime"
echo
"---部署開始---"
echo
"---備份---"
# 僅備份config目錄
ssh -p $ root@$
"mkdir -p $ && cd $ && tar -cvzf $ config"
echo
"---同步檔案---"
ssh -p $ root@$
"mkdir -p $"
rsync -raz --progress -e "ssh -p $" src/* root@$:$
#scp -r -p $ src/* root@$:$
echo
"---更新依賴---"
ssh -p $ root@$
"cd $ && /usr/local/php/bin/php /plattxu2/composer.phar install"if[
"$env"
!=""];
then
echo
"---建立配置---"
ssh -p $ root@$
"cd $ && rm -rf config && cp -r config.$ config"
else
echo
"---未建立配置---"
fiecho
"---配置檔案許可權---"
ssh -p $ root@$
"chown -r root:root $ && chmod -r 755 $"
ssh -p $ root@$
"mkdir -p $ && chmod -r 777 $"
echo
"---部署結束---"
一段檔案相關的shell指令碼解讀
code sbin ksh dir cd dir pwd find dir type d print du awk sort f sed e s,1,e s,g the end 感覺有些難度,不知哪位大俠能夠給在下解釋一下!第五行是緊跟在第四行之後的,由於太長被強制換行了。這個貼子最後由michae...
Shell擷取文字一段區間的方法
假設檔案 text.txt 內容如下 xx yyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzz start mark 10 aaaaa bbbb cccc 20 aaaaa bbbb cccc 30 aaaaa bbbb cccc 40 aaaaa bbbb cccc yyyy...
Shell擷取文字一段區間的方法
假設有一段日誌,我需要擷取2019 09 23到2019 09 29之間期間的日誌。那麼,我利用shell怎麼去擷取呢 實現方法 sed n 2019 09 23 2019 09 29 p log.txt sed n a bp file這個就是擷取a和b之間的字元,包括a和b為什麼在a前面加上乙個 ...