脚本分享-服务器初始化稽查
脚本分享-服务器初始化检查
很简单的脚本(dbc.sh),供参考参考
#!/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
本文章由Android培训 上海JAVA培训 推荐阅读
很简单的脚本(dbc.sh),供参考参考
#!/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
本文章由Android培训 上海JAVA培训 推荐阅读