咸鱼今天给大家分享一个无论是学习还是工作中都很实用的 Linux 系统初始化脚本,其实就是各种命令的集合
完整代码在文章最后哦
定义相关变量
配置 yum 镜像源
获取阿里云 yum 镜像源
判断函数是否执行成功
写入一行配置
修改配置
配置系统时区
配置 dns 服务器
修改最大文件描述符限制
关闭系统不需要的服务
内核参数优化相关
安装常用工具
关闭 SELinux
主函数
完整脚本
#环境变量 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin export PATH #当前时间 current_time=$(date +%Y%m%d) #阿里的DNS dns_server=223.5.5.5 if [[ ! -z `uname -r|grep 'el6'` ]] then kernel_version=el6 yum_repo=http://mirrors.aliyun.com/repo/Centos-6.repo elif [[ ! -z `uname -r|grep 'el7'` ]] then kernel_version=el7 yum_repo=http://mirrors.aliyun.com/repo/Centos-7.repo else echo -e "\e[31mUnidentified Kernel version: $(uname -r). Only support for kernel el6/el7\e[0m" exit fi function add_yum_repo(){ local item="Add Aliyun Yum Mirrors" yum clean all cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.${current_time} && \ curl -o /etc/yum.repos.d/CentOS-Base.repo ${yum_repo} > /dev/null 2>&1 show_result $? "${item}" yum makecache } function show_result(){ if [ "$1" -eq 0 ] then echo -e "\e[32m$2 is Success . [ OK ] \e[0m" else echo -e "\e[31m$2 is Fail . [ FAIL ] \e[0m" fi } function add_newconfig_tofile(){ local SearchResult=`grep "$1" "$2"` if [ -z "${SearchResult}" ] then echo "$1" >> $2 fi } function add_config_tofile(){ local keywords=`echo $1| awk -F "[= ]+" '{print $1}'` local SearchResult=`grep "^${keywords}" "$2"` if [ -z "${SearchResult}" ] #空为真,非空为假 then echo $1 >> $2 else sed -i "s/^${keywords}.*/$1/" $2 fi } function config_localtime(){ local item="Config SH As Location" rm -f /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime show_result $? "${item}" } function config_dns_addr(){ local item="Config DNS Address" cp /etc/resolv.conf /etc/resolv.conf.${current_time} && \ echo "nameserver ${dns_server}" > /etc/resolv.conf show_result $? "${item}" } function maximum_file_dspt(){ local item="Maximum File Descriptor" cp /etc/security/limits.conf /etc/security/limits.conf.${current_time} && \ echo "* soft nofile 100000 * hard nofile 100000 * soft nproc 65535 * hard nproc 65535 * soft core unlimited * hard core unlimited" > /etc/security/limits.conf show_result $? "${item}" } function shutdown_nonuse_srv(){ local item="Shutdown Unused Services" if [[ "${kernel_version}" == el6 ]] then for i in `chkconfig --list | awk '{print $1}'` do chkconfig --level 2345 $i off > /dev/null 2>&1 done for ii in crond network rsyslog sshd sysstat haldaemon do chkconfig --level 2345 $ii on > /dev/null 2>&1 done show_result $? "${item}" elif [[ "${kernel_version}" == el7 ]] then systemctl disable postfix > /dev/null 2>&1 show_result $? "${item}" else