# shell **Repository Path**: cqyayun/shell ## Basic Information - **Project Name**: shell - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-14 - **Last Updated**: 2021-08-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1. 系统优化 bash 1_os_init.sh 2. 发送邮件 bash 2_Smail.sh 3. 批量创建用户 bash 3_useradd.sh ayun aguan adong 4. 查看服务器资源的利用率(cpu使用率,内存的信息,硬盘的信息,tcp的连接状态) bash 4_watch_OS.sh 5. 找出占用cpu过高的进程脚本 bash 5_watch_CPU.sh 6. 查看网卡的实时流量 bash 6_watch_network.sh 7. 监控100台服务器磁盘的利用率 (1). 创建主机清单 tee host.info< EOF #测试能否正常访问 echo 'ok' >/usr/local/nginx/html/status.php curl 127.0.0.1/status.php #浏览器访问测试 192.168.1.171/phpinfo.php #设置开机自启动 vim /lib/systemd/system/nginx.service [Unit] Description=nginx service After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target 11. 监控mysql主从同步的状态是否异常 (1). 执行脚本 bash 11_watch_mysql.sh (2). 设置定时任务,每分钟检查一次 (echo "* * * * * bash 11_watch_mysql.sh >/dev/null 2>&1";crontab -l) |crontab 12. 数据库的备份 (1). bash 12_db_backup.sh, 备份所有的业务库 (2). bash 12_1_tables_backup.sh ,备份所有的业务库的每张表 (3). 设置定时任务,每天凌晨3.30点执行备份任务 (echo "30 3 * * * bash 12_db_backup.sh >/dev/null 2>&1";crontab -l) |crontab (echo "30 3 * * * bash bash 12_1_tables_backup.sh >/dev/null 2>&1";crontab -l) |crontab 13. nginx的访问日志分析 bash 13_watch_nginx_access_logs.sh /usr/local/nginx/logs/access.log 14. nginx的访问日志按天分割 #执行脚本,并做定时任务进行每天晚上12点归档日志 bash 14_nginx_cut_log.sh (echo "0 0 * * * bash 13_watch_nginx_access_logs.sh /var/log/nginx/access.log >/dev/null 2>&1";crontab -l) |crontab 15. 自动发布Java项目(Tomcat) (1). 下载安装jdk mkdir /usr/java /opt/src ; cd /opt/src/ tar xf jdk-8u291-linux-x64.tar.gz -C /usr/java/ cd /usr/java/;ln -s jdk1.8.0_291 jdk (2). 部署环境变量 vi /etc/profile export JAVA_HOME=/usr/java/jdk export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH #检查 source /etc/profile java -version (3). 部署tomcat mkdir -p /usr/local/ tar -xf apache-tomcat-9.0.33.tar.gz -C /usr/local/ cd /usr/local/ ln -s apache-tomcat-9.0.33 tomcat /usr/local/tomcat/bin/startup.sh 浏览器访问 http://192.168.1.60:8080 #实际生产中构建多个 tomcat mv /usr/local/tomcat /usr/local/jress-tomcat (4). 安装maven,把从githup上拉取的代码构建成war包 #wget https://archive.apache.org/dist/maven/maven-3/3.3.1/source/apache-maven-3.3.1-src.tar.gz wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz tar xf apache-maven-3.8.1-bin.tar.gz -C /usr/local ln -s apache-maven-3.8.1-bin maven3.8 #环境变量 vi /etc/profile PATH=$PATH:$JAVA_HOME/bin:/usr/local/maven3.8/bin source /etc/profile #mvn构建,做成war包 git clone https://gitee.com/cqyayun/php-demo.git mvn clean package -Dmaven.test.skip=true ls target/ (5). 修改源代码提交到gitee后,执行脚本实现自动部署 bash 15_tomcat_auto_online.sh jress-tomcat 16. 自动发布PHP项目 bash 16_php_auto_online.sh 17. Dos攻击防范(自动屏蔽攻击IP) bash 17_dos.sh #通过访问ssh的日志,也可以自动屏蔽ssh访问较多的IP tail /var/log/audit/audit.log 18. 实时监控某个目录里创建和删除的文件 #安装监控软件 yum install inotify-tools -y #执行脚本,并在后台当作守护进程运行 nohup hash 18_watch_dir.sh &>/dev/null &