更新本地代碼到服務器的shell腳本
用Ubuntu做開發機OS遇到的第一個問題就是將更新的代碼放上測試服務器運行
www.2cto.com
之前用windows的時候是用Winscp更新代碼到服務器上去的
ubuntu下面沒有類似Winscp的程序,只能自己寫個簡單的腳本做這種事情了
Shell代碼 www.2cto.com
#要更新的的文件數組 相對根目錄的路徑
file_array=("xxx/xxxxx.py" \
"xxx/xxxxx.py")
#我機子項目根目錄
my_dir="/home/xxx/workspace/xxx/"
#開發機項目根目錄
net_dir="
[email protected]:/usr/local/xxx/"
length=${#file_array[@]}
echo ${length}
for ((i=0; i<${length}; i++));
do
scp ${my_dir}${file_array[$i]} ${net_dir}${file_array[$i]}
done
其實就是一個簡單的循環執行 scp命令而已
但這麼做可能需要重復輸入服務器密碼
可以執行:
Shell代碼
ssh-keygen -t rsa
在用戶的主目錄/.ssh目錄下面生成一對密鑰
id_rsa 私鑰
id_rsa.pub 公鑰
將公鑰拷貝到遠端主機,並寫入授權列表文件
Shell代碼
touch /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
其實就是把id_rsa.pub裡面的內容復制到authorized_keys裡面