Shell是什么
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。
Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问 Linux 内核的服务。
执行脚本的办法
1.source
2.bash
3./bin/bash
4.sh
5. ./
linux下添加开机自启动脚本
1./etc/rc.local
1.1 /etc/rc.d/rc.local
在开机过程之后,会执行/etc/rc.local 用户可以在里面添加需要开机执行的脚本命令
2./etc/init.d/
将自己的用户脚本添加到/etc/init.d并链接到自启动程序当中。
3.systemd的开机自启
查看系统是否使用systemd工具我们可以使用如下的指令:
systemctl --version
systemd 219
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN
设置开机自启动
我们要为目标设置一个配置文件,linux作为一个复杂的系统,开机自启动涉及到的依赖、运行级别、运行环境等等问题肯定需要用户去指定,在启动的时候系统才知道怎么正确地去运行软件。这个配置文件固定以.service作为后缀,比如我们如果要运行/root/目录下的1.sh脚本,我们可以添加一个配置文件1.service:
将文件放在/usr/lib/systemd/system 或者 /etc/systemd/system目录下,然后可以测试
[Unit]
Description= #运行软件描述
Documentation= #软件的文档
After=network.target #指定在哪个服务被启动之后再启动,设置优先级
Wants= #弱依赖于某个服务,目标服务的运行状态可以影响到本软件但不会决定本软件运行状态
Requires= #强依赖某个服务,目标服务的状态可以决定本软件运行
[Service]
ExecStart=/root/1.sh #执行命令
ExecStop= #停止执行命令
ExecReload=/root/1.sh #重启时的命令
Type=simple #软件运行方式,默认为simple
[Install]
WantedBy=multi-user.target #这里相当于设置软件,选择运行在linux的哪个运行级别,只是在systemd中不在有运行级别概念,但是这里权当这么理解。
但是后两种实现方式比较复杂,本文只是简单介绍方法,暂不推荐
关于弹性(Elastic)
我们都知道云计算拥有弹性扩展的特性,所谓的弹性,即云端的可用资源能够随着用户的需求而灵活变化、自由升降,在业务高峰或低谷期,均能匹配适量的资源,既不捉襟见肘、也不过分浪费。弹性云服务器,简单地说,是指运行在云计算环境中的虚拟服务器,支持用户自由调度计算资源,不受传统硬件设备的限制。
弹性云服务器具有良好的可拓展性,支持用户随时在线对服务器的内存、系统盘和带宽进行灵活调整;凭借集群部署的成本优势,极大程度降低了IT部署与业务运维成本;由于服务分散在多台主机、甚至多个机房,所以不容易彻底宕机,抗灾容错能力强,能够确保长时间在线,让网站运行更加安全、可靠。
一般来说,云服务器的“弹性”,主要体现在资源调用的弹性,计费方式的弹性,以及业务管理的弹性等几个方面。
资源调用的弹性
这里的“弹性”是相对传统服务器而言,传统IT环境下,用户很难做到对单个服务器进行配置变更。通常情况下,购买的服务器会一直保持原样,在3-5年的折旧期内,服务器的配置基本不会发生变化。但客户购买云服务器后,则可以随着业务量的增减及时调整、变更服务器配置,这是传统IDC所无法实现的。
计费方式的弹性
对于中小型企业而言,大多面临技术人员不足、运营成本有限等问题,如果继续购买/租用大量服务器资源,既会造成运维跟不上也会让更多资源闲置;而购买云服务器,仅为自己需要使用的资源(网络、服务器、存储、应用软件、服务等)付费,提高资源利用效率同时也避免了不必要的浪费,优化了运营成本。
业务管理的弹性
为从容应对流量的“高峰”和“低谷”,云服务器还须具备临时变通、自由伸缩的能力。比如双十一、新年大促、周年庆期间,往往会出现用户访问的暴涨,但在平时服务器配置完全够用,不想买多了浪费,就可以按天对服务器进行临时升级,扩容CPU、内存或网络带宽,直至顺利度过高峰访问时段。
rpm -Uvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm #下载rhel7的epel包
实例中metadata和userdata
实例元数据是有关您的实例的数据,可用于配置或管理正在运行的实例。实例元数据分为类别,例如主机名、事件和安全组。还可以使用实例元数据访问您在启动实例时指定的用户数据 。例如,您可以指定用于配置实例的参数,或者包含一个简单的脚本。您可以构建通用 AMI (Amazon Machine Image) 并使用用户数据来修改启动时提供的配置文件。
如果同时启动多个实例,则用户数据可供该预留中的所有实例使用
xx.ini 为winodws系统配置文件