更新本地代码到服务器的shell脚本

更新本地代码到服务器的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里面 

 

posted @ 2015-01-15 10:23  88686  阅读(488)  评论(0编辑  收藏  举报