- #!/bin/bash
- # ########################################################################
- # License: GPL
- # Authors:
- # ########################################################################
- usage() {
- cat << EOF
- 新手指南:
- 1. 用于DBA数据库初始化检查
- 2. 脚本必须用root权限执行
- sudo $(basename $0)
- 3. 被检查的系统必须是CentOS
- EOF
- #
- # 判断sudo权限
- #
- if [ $USER != "root" ]; then
- echo "请用root用户执行"
- exit
- fi
- #
- # ops 安装的系统是 CentOS
- #
- if [ -e "/usr/bin/lsb_release" ]; then
- rele=$(lsb_release -r|gawk '{print $2}')
- if [ "$rele" != '6.2' ]; then
- echo "# Current system is not CentOS 6.2 "
- exit
- fi
- else
- echo "# No lsb_release modules are available."
- echo "$ sudo yum install lsb"
- exit
- fi
- #
- read -p "Are you sure (yes/no): " sure
- if [ "$sure" != 'yes' ]; then
- echo "# The script is exist."
- exit
- fi
- }
- # call
- usage
- setup_deppack() {
- cat << EOF
- #==============================================================================
- # 安装依赖包:
- # mysql-mmm
- # git
- #==============================================================================
- EOF
- # 清除本地的rpm包,更新本地缓存
- yum clean all
- yum makecache
- # 安装mysql-mmm依赖
- # 注意,参数选项不能写在一起(probably due to merging: -yq != -y -q)
- yum -y -q install coreutils iproute perl-Algorithm-Diff perl-Class-Singleton perl-DBD-MySQL perl-DBI perl-Log-Log4perl perl-Net-ARP perl-Path-Class perl-Proc-Daemon perl-Time-HiRes
- # 安装git
- yum -y -q install git
- }
- # call
- setup_deppack
- sleep 1
- setup_system() {
- cat << EOF
- #==============================================================================
- # 系统配置
- # ulimit
- # sysctl
- #==============================================================================
- EOF
- #set ulimit
- openfiles=$(ulimit -n)
- maxusers=$(ulimit -u)
- if [ "$openfiles" -lt "60000" ]; then
- echo "* soft nofile 65536" >> /etc/security/limits.conf
- echo "* hard nofile 65536" >> /etc/security/limits.conf
- if [ "$maxusers" -lt "60000" ]; then
- echo "* soft nproc 65536" >> /etc/security/limits.d/90-nproc.conf
- fi
- fi
- #set sysctl
- /sbin/sysctl -w vm.swappiness=0 > /dev/null
- #write sysctl.conf
- echo "vm.swappiness = 0" >> /etc/sysctl.conf
- #set secure
- #sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
- #grep 'SELINUX' /etc/selinux/config
- }
- # call
- setup_system
- sleep 1
- setup_display() {
- cat << EOF
- #==============================================================================
- # The results show
- #==============================================================================
- EOF
- #
- echo "open files: "$(ulimit -n)
- echo "max user processes: "$(ulimit -u)
- echo $(/sbin/sysctl vm.swappiness)
- }
- # call
- setup_display