因為我開源的一鍵部署應用到linux服務器的AntDeploy, 在linux部署是需要安裝一個agent服務(systemctl服務)
如果是手動第一次安裝的話 需要敲
下載 wget
解壓 tar
修改配置文件的token
復制到指定安裝目錄
設置權限
設置systemd
設置systemctl
清除臨時文件
至少這8中類型的命令
如果我的agent需要更新版本的話,那么需要重新來一遍
下載 wget
解壓 tar
配置文件保存備份
復制到指定安裝目錄,并恢復先前的配置
設置權限
設置systemd
設置systemctl
清除臨時文件
這么多類型的命令,我們把它們都放在一個腳本文件里面,然后只需要一行命令就可以搞定,是不是很爽呢
curl?https://files-cdn.cnblogs.com/files/yudongdong/install_antdeploy_agent.sh|sudo?sh
#!/bin/sh#當前時間戳
timestamp=$(date?"+%Y%m%d%H%M%S")
#隨機數
randomstr=$RANDOM
#生成token
md5hash=$(echo?-n?${timestamp}${randomstr}?|?md5sum?|?head?-c?32)
#先刪除當前文件夾下的AntAgent.tar.gz文件
sudo?rm?-rf?AntAgent.tar.gz?>/dev/null?2>&1?&
#刪除當前文件夾下的AntAgent文件夾
sudo?rm?-rf?AntAgent?>/dev/null?2>&1?&
#下載
sudo?wget?https://files.cnblogs.com/files/yudongdong/AntAgent.tar.gz
#解壓到當前文件夾下的AntAgent文件夾
sudo?tar?-xvzf?AntAgent.tar.gz?--one-top-level
#停止AntAgent服務
sudo?systemctl?stop?AntAgent?>/dev/null?2>&1?&
#如果是更新的話?把配置文件放到temp目錄下
if?[?-d?"/usr/AntAgent"?];thensudo?cp?-rf?/usr/AntAgent/AntDeployAgentLinuxService.config?AntAgent/AntDeployAgentLinuxService.configmd5hash=''
else?#更改配置文件里的Tokensudo?sed?-i?-e?'s/p@ssw0rd/'"$md5hash"'/g'?AntAgent/AntDeployAgentLinuxService.config
fi
#刪除安裝目錄的AntAgent文件夾
sudo?rm?-rf?/usr/AntAgent?>/dev/null?2>&1?&
#復制到安裝目錄
sudo?mv?-f?AntAgent?/usr/
#清除本地
sudo?rm?-rf?AntAgent.tar.gz?>/dev/null?2>&1?&
sudo?rm?-rf?AntAgent?>/dev/null?2>&1?&
#設置權限
sudo?chmod?+x?/usr/AntAgent/AntDeployAgentLinuxService
#設置systemd
sudo?cp?/usr/AntAgent/AntAgent.service?/etc/systemd/system/AntAgent.service
#設置systemctl
sudo?systemctl?daemon-reload
sudo?systemctl?enable?AntAgent
sudo?systemctl?start?AntAgent
sudo?systemctl?status?AntAgent?--no-pager
if?[?-z?"${md5hash}"?];?thenecho?'OK,?AntAgent?has?been?updated?in?/usr/AntAgent.'
else?echo?'OK,?AntAgent?has?been?installed?in?/usr/AntAgent?with?Token:'"$md5hash"''??
fi
要點:
bash的獲取當前時間戳
bash如何獲取md5
bash如何做條件判斷
bash如何做命令做容錯處理
bash如何對字符串做拼接展示
bash如何更改文件里的內容
先關注收藏,沒準你以后用到,節省你的時間