新闻 · 帮助

518云盒:云计算下挂机盒,web页面更新脚本运作

发布时间:2019/5/9

背景:挂机盒一般公司内生产服务器的web上线更新是由运维人员来完成的,但是不排除有些公司管理混乱,开发自己上传文件到服务器,比如本人之前所在的公司就出现这样的奇葩事,更新方法有很多种,服务多了用自动化运维工具,比如ansible,还可以直接使用svn或git,但是如果服务器比较少的情况下用ansible这样的工具总有些杀鸡用牛刀的感觉,故给新来的开发人员写下如下脚本供其上传新文件到web服务器.

注:此脚本并非生产所用,只是从中摘了一小部分供初学者参考练习所用

#!/bin/bash

#version 0.1  

#最后一次修改人:xxx

#公司内无论谁修改此脚本文件,请在上面注上您的姓名

clear

echo '注意:为了确保安全在同步时需要输入生产密码!!!'

echo -e '\e[32m1.本地指定文件(目录)------->>生产服务器指定文件(目录)\e[m'

echo -e '\e[32m2.本地web根目录------->>生产服务器web跟目录\e[m'

echo -e '\e[35m3.退出'

while :

do

ﻪﻩread -p '选择你的操作:' num

ﻪﻩif [ $num -eq 1 ];then

ﻪﻩﻩread -p "输入本地文件绝对路径:" src

ﻪﻩﻩread -p "您要同步文件到哪台机器?(web1/web2/web3):" web

ﻪﻩﻩread -p "输入远程文件绝对路径:" dst

ﻪﻩﻩread -p "您确定要进行文件同步吗?(yes/no):" ack

ﻪﻩﻩif [ "$ack" == "yes" ];then

ﻪﻩﻩﻩrsync -arvlSH $src $web:$dst 2>/dev/null

ﻪﻩﻩﻩ[ $? -eq 0 ] && echo "同步成功!请去生产服查看" || echo "同步失败,请自行检查或联系运维人员"

ﻪﻩﻩelif [ "$ack" == "no" ];then

ﻪﻩﻩﻩ:

ﻪﻩﻩelse

ﻪﻩﻩﻩecho '输入错误!'

ﻪﻩﻩfi

ﻪﻩelif [ $num -eq 2 ];then

ﻪﻩﻩecho '你现在还不能这么做!'

ﻪﻩelif [ $num -eq 3 ];then

ﻪﻩﻩexit

ﻪﻩfi

doneﻩﻪ

执行效果如下:

背景:一般公司内生产服务器的web上线更新是由运维人员来完成的,但是不排除有些公司管理混乱,开发自己上传文件到服务器,比如本人之前所在的公司就出现这样的奇葩事,更新方法有很多种,服务多了用自动化运维工具,比如ansible,还可以直接使用svn或git,但是如果服务器比较少的情况下用ansible这样的工具总有些杀鸡用牛刀的感觉,故给新来的开发人员写下如下脚本供其上传新文件到web服务器.

注:此脚本并非生产所用,只是从中摘了一小部分供初学者参考练习所用

#!/bin/bash

#version 0.1  

#最后一次修改人:xxx

#公司内无论谁修改此脚本文件,请在上面注上您的姓名

clear

echo '注意:为了确保安全在同步时需要输入生产密码!!!'

echo -e '\e[32m1.本地指定文件(目录)------->>生产服务器指定文件(目录)\e[m'

echo -e '\e[32m2.本地web根目录------->>生产服务器web跟目录\e[m'

echo -e '\e[35m3.退出'

while :

do

ﻪﻩread -p '选择你的操作:' num

ﻪﻩif [ $num -eq 1 ];then

ﻪﻩﻩread -p "输入本地文件绝对路径:" src

ﻪﻩﻩread -p "您要同步文件到哪台机器?(web1/web2/web3):" web

ﻪﻩﻩread -p "输入远程文件绝对路径:" dst

ﻪﻩﻩread -p "您确定要进行文件同步吗?(yes/no):" ack

ﻪﻩﻩif [ "$ack" == "yes" ];then

ﻪﻩﻩﻩrsync -arvlSH $src $web:$dst 2>/dev/null

ﻪﻩﻩﻩ[ $? -eq 0 ] && echo "同步成功!请去生产服查看" || echo "同步失败,请自行检查或联系运维人员"

ﻪﻩﻩelif [ "$ack" == "no" ];then

ﻪﻩﻩﻩ:

ﻪﻩﻩelse

ﻪﻩﻩﻩecho '输入错误!'

ﻪﻩﻩfi

ﻪﻩelif [ $num -eq 2 ];then

ﻪﻩﻩecho '你现在还不能这么做!'

ﻪﻩelif [ $num -eq 3 ];then

ﻪﻩﻩexit

ﻪﻩfi

doneﻩﻪ

执行效果如下: