shell能做什么
1、自动化批量系统初始化程序(update,软件安装,时区设置,安全策略…………)
2、自动化批量软件部署程序(LAMP,LNMP, Tomcat,LVS,Nginx)
3、管理应用程序(KVM,集群管理扩容,MySQL)
4、日志分析处理程序(PV,UV,200,!200,top 100,grep/awk)
5、自动化备份恢复程序(mysql完全备份/增量+Crond)
6、自动化管理程序(批量远程修改密码,软件升级,配置更新)
7、自动化信息采集及监控程序(收集系统/应用状态信息,CPU,MEM,DISK,NET,APACHE,MYSQL)
8、自动化扩容(增加主机---》部署应用)
shell基本命令
1、bash相关 :
查看bash:rpm -qc bash
系统级 /etc/profile /etc/bashrc
用户级 ~/.bash_profile ~/.bashrc ~/.bash_logout ~/.bash_history
2、&&和||的区别
&& 当前一个命令是成功为0,再执行后一个命令 例如:./configure && make && make install
打印返回值 echo$?
|| 当前一个命令是失败为1,才执行后面的命令
3、mkdir 和 mkdir -p
mkdir : 如果存在上级目录不存在的情况,会无法创建下级目录, 会提出ERROR
mkdir /home/111/222/3333 如果没有111会失败
mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
mkdir -p /home/111/222/3333 如果没有111会自动创建
4、变量
不区分类型
' ' 强引用,里面不能用变量
" " 弱引用,里面可以用变量
常用命令
新建带日期的文件:touch $(date +%F)_file.txt
查看正在执行的进程号:ps -ef|grep auto-operation-service |grep -v "grep" |awk '{print $2}'
压缩tar.gz:tar -zcvf 压缩文件名 .tar.gz 被压缩文件名
解压tar.gz:tar -zxvf 压缩文件名.tar.gz