更新本地代码到服务器的shell脚本
用Ubuntu做开发机OS遇到的第一个问题就是将更新的代码放上测试服务器运行
www.ahlinux.com
之前用windows的时候是用Winscp更新代码到服务器上去的
ubuntu下面没有类似Winscp的程序,只能自己写个简单的脚本做这种事情了
Shell代码 www.ahlinux.com
#要更新的的文件数组 相对根目录的路径
file_array=("xxx/xxxxx.py" \
"xxx/xxxxx.py")
#我机子项目根目录
my_dir="/home/xxx/workspace/xxx/"
#开发机项目根目录
net_dir="xxx@192.168.1.xxx:/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里面
本文来自:Linux学习网