云服务器安装脚本

简介:

less 1.sh
#!/bin/sh
#把1.sh写好放到/root下,执行1.sh 等待安装,日志在/root/install.log (公网ip)
ftp -v -n *.*.*.* 21<< END
user ftpname ftppassword
binary
cd kvm
get zcc.tgz
bye
END
tar zxvfP zcc.tgz
rm zcc.tgz


apt-get update -y
[ $? != 0 ] && echo "apt-get update err" && exit
echo `date +%F` `date +%T` "apt-get update ok" >/root/install.log
  
apt-get upgrade -y
[ $? != 0 ] && echo "apt-get upgrade err" && exit
echo `date +%F` `date +%T` "apt-get update ok" >>/root/install.log

echo "/root/2.sh" >>/etc/init.d/rc.local
echo `date +%F` `date +%T` "1.sh ok" >>/root/install.log

reboot

 

less 2.sh
#!/bin/sh
apt-get install kvm libvirt-bin bridge-utils pm-utils -y
[ $? != 0 ] && echo "apt-get install kvm libvirt-bin bridge-utils pm-utils err" && exit
echo `date +%F` `date +%T` "apt-get install kvm libvirt-bin bridge-utils pm-utils ok" >>/root/install.log

apt-get install libaio1 libaio1-dbg libaio-dev -y
[ $? != 0 ] && echo "apt-get install libaio1 libaio1-dbg libaio-dev err" && exit
echo `date +%F` `date +%T` "apt-get install libaio1 libaio1-dbg libaio-dev ok" >>/root/install.log


apt-get install virtinst -y
[ $? != 0 ] && echo "apt-get install virtinst err" && exit
echo `date +%F` `date +%T` "apt-get install virtinst ok" >>/root/install.log

apt-get install  virt-top virt-what -y
[ $? != 0 ] && echo "apt-get install  virt-top virt-what err" && exit
echo `date +%F` `date +%T` "apt-get install  virt-top virt-what ok" >>/root/install.log

apt-get install dos2unix -y
[ $? != 0 ] && echo "apt-get install dos2unix err" && exit
echo `date +%F` `date +%T` "apt-get install dos2unix ok" >>/root/install.log

apt-get install febootstrap -y
[ $? != 0 ] && echo "apt-get install febootstrap err" && exit
echo `date +%F` `date +%T` "apt-get install febootstrap ok" >>/root/install.log

apt-get build-dep libguestfs libguestfs-tools -y
[ $? != 0 ] && echo "apt-get build-dep libguestfs libguestfs-tools err" && exit
echo `date +%F` `date +%T` "apt-get build-dep libguestfs libguestfs-tools ok" >>/root/install.log

apt-get install libguestfs-dev -y
[ $? != 0 ] && echo "apt-get install libguestfs-dev err" && exit
echo `date +%F` `date +%T` "apt-get install libguestfs-dev ok" >>/root/install.log


echo "libguestfs0     libguestfs/update-appliance     boolean true" | debconf-set-selections
apt-get install libguestfs-tools -y
[ $? != 0 ] && echo "apt-get install libguestfs-tools err" && exit
echo `date +%F` `date +%T` "apt-get install libguestfs-tools ok" >>/root/install.log

update-guestfs-appliance -y
[ $? != 0 ] && echo "update-guestfs-appliance err" && exit
echo `date +%F` `date +%T` "update-guestfs-appliance ok" >>/root/install.log

cp -r /usr/lib/guestfs  /usr/lib/x86_64-linux-gnu/
[ $? != 0 ] && echo "cp -r /usr/lib/guestfs  /usr/lib/x86_64-linux-gnu/ err" && exit
echo `date +%F` `date +%T` "cp -r /usr/lib/guestfs  /usr/lib/x86_64-linux-gnu/ ok" >>/root/install.log

apt-get install guestmount -y
[ $? != 0 ] && echo "apt-get install guestmount err" && exit
echo `date +%F` `date +%T` "apt-get install guestmount ok" >>/root/install.log

sed -i "s=/root/2.sh=/root/3.sh=g" /etc/init.d/rc.local

echo `date +%F` `date +%T` "2.sh ok" >> /root/install.log

reboot

 

less 3.sh
#!/bin/sh
sed -i "/\/root\/3.sh/d" /etc/init.d/rc.local
[ $? != 0 ] && echo "del /root/3.sh from /etc/init.d/rc.local err" && exit
echo `date +%F` `date +%T` "del /root/3.sh from /etc/init.d/rc.local ok" >>/root/install.log


iptables-restore < /root/iptables.rules
[ $? != 0 ] && echo "iptables-restore < /root/iptables.rules err" && exit

chmod +x /etc/init.d/iptables
[ $? != 0 ] && echo "chmod +x /etc/init.d/iptables err" && exit

/etc/init.d/iptables start
[ $? != 0 ] && echo "/etc/init.d/iptables start err" && exit

update-rc.d iptables defaults
[ $? != 0 ] && echo "update-rc.d iptables defaults err" && exit

echo `date +%F` `date +%T` "iptables ok" >>/root/install.log


update-rc.d kvm defaults
[ $? != 0 ] && echo "update-rc.d kvm defaults err" && exit
echo `date +%F` `date +%T` "update-rc.d kvm defaults ok" >>/root/install.log

crontab  -l >/tmp/cron.bak
echo "* * * * * rdate -s rdate.darkorb.net">>/tmp/cron.bak
echo "*/5 * * * * perl /root/lsmonitor.pl">>/tmp/cron.bak
echo "*/1 * * * * /root/KvmMonitor.sh">>/tmp/cron.bak
echo "0 4 * * * /root/del.py">>/tmp/cron.bak
echo "0       6,21    *       *       *       /root/update.sh">>/tmp/cron.bak
crontab  /tmp/cron.bak
rm /tmp/cron.bak
[ $? != 0 ] && echo "crontab err" && exit
echo `date +%F` `date +%T` "crontab ok" >>/root/install.log


sed -i 's=#PermitRootLogin no=PermitRootLogin no=' /etc/ssh/sshd_config
service ssh restart
[ $? != 0 ] && echo "PermitRootLogin err" && exit
echo `date +%F` `date +%T` "PermitRootLogin ok" >>/root/install.log


sed -i 's=eth0=br0=' /etc/network/interfaces
cat >>/etc/network/interfaces << "E"OF
 bridge_ports eth0
 bridge_stp off
 bridge_fd 0
 bridge_maxwait 0
                 post-up for i in `virsh list | grep running| awk '{print $2}'|tr "\n" " " `;do brctl show | grep $i >/dev/null; [ "$?" != "0" ] && brctl addif br0 $i;done
EOF
/etc/init.d/networking restart
[ $? != 0 ] && echo "network err" && exit
echo `date +%F` `date +%T` "networking ok" >>/root/install.log

echo "3.sh ok" >> /root/install.log
echo "service kvm success" >> /root/install.log
echo "game over"

 

可以用watch 和cat 命令监控instll.log日志。




本文转自 freeterman 51CTO博客,原文链接:http://blog.51cto.com/myunix/1163404,如需转载请自行联系原作者

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
1月前
|
Shell Linux 网络安全
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
408 3
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
|
2月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
228 18
|
2月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
249 15
|
2月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
418 13
|
3月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
3月前
|
Ubuntu Linux
如何在 Ubuntu 服务器上安装桌面环境(GUI)
如果你有任何问题,请在评论区留言。你会在服务器上使用 GUI 吗?参照本文后你遇到了什么问题吗?
481 0
|
4月前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
141 2
|
4月前
|
存储 Ubuntu 安全
如何在服务器上快速安装 ERPNext 最新版本?
ERPNext 是一款开源且功能全面的企业资源规划软件,在企业信息化管理中广泛应用。本文介绍如何通过 Websoft9 控制台安装其最新版本,以提升部署效率。内容涵盖安装前的服务器准备、Websoft9 控制台登录,到通过应用市场安装 ERPNext 的详细步骤,以及安装后的验证与基础配置。帮助企业快速搭建稳定高效的信息化管理平台,满足财务、采购、销售、库存等多方面业务需求,助力企业降本增效,实现可持续发展。
|
7月前
|
安全 关系型数据库 文件存储
Websoft9 服务器面板中 Odoo 安装与群晖 NAS 的对比
传统部署Odoo面临基础设施搭建、镜像供应链、复杂配置及运维监控四大难题,而群晖NAS方案存在Docker依赖、插件更新滞后和配置自由度低的局限。Websoft9提供开箱即用的解决方案:无需预装Docker,三键式安装支持全版本Odoo;具备企业级扩展功能如负载均衡与集群部署;兼容混合云架构,支持公有云、私有云及边缘设备管理;同时确保合规性,自动扫描漏洞并生成修复报告,大幅提升部署效率与系统安全性。