linux初始化脚本不能进目录,linux服务器初始化脚本

#!/bin/bash

# 设置历史命令

sed -i '/^[\ \t]*HISTSIZE=.*/s/^[\ \t]*HISTSIZE=.*/HISTSIZE=50000/' /etc/profile

sed -i '/^HISTSIZE=.*/aHISTTIMEFORMAT="%F %T "' /etc/profile

echo '' >> /etc/profile

echo '# 设置10分钟内用户无操作就字段断开终端' >> /etc/profile

echo 'export TMOUT=600' >> /etc/profile

echo '# 将值设置为readonly 防止用户更改' >> /etc/profile

echo '# readonly TMOUT' >> /etc/profile

# 错误口令登录超过5次后锁定用户账号20分钟

echo

# 设置alias

echo "" >> /etc/bashrc

echo "# 命令别名" >> /etc/bashrc

echo "alias ll='ls -l --color=auto --time-style=+%F\\ %T'" >> /etc/bashrc

# 设置vim

echo "" >> /etc/vimrc

echo "\" tabstop 表示一个 tab 显示出来是多少个空格的长度,默认8" >> /etc/vimrc

echo "set ts=4" >> /etc/vimrc

echo "\" 缩进用空格来表示,noexpandtab 则是用制表符表示一个缩进" >> /etc/vimrc

echo "set expandtab" >> /etc/vimrc

echo "\" 自动缩进" >> /etc/vimrc

echo "\" set autoindent" >> /etc/vimrc

# 登陆提示语

echo '' > /etc/motd

echo '   へ     /| ' >> /etc/motd

echo '  /\7  ∠_/ ' >> /etc/motd

echo '  / │   / / ' >> /etc/motd

echo ' │ Z _,< /   /`ヽ ' >> /etc/motd

echo ' │     ヽ   /  〉 ' >> /etc/motd

echo '  Y     `  /  / ' >> /etc/motd

echo ' イ● 、 ●  ⊂⊃〈  / ' >> /etc/motd

echo ' ()  へ    | \〈 ' >> /etc/motd

echo '  >ー 、_  ィ  │ // ' >> /etc/motd

echo '  / へ   / ノ<| \\ ' >> /etc/motd

echo '  ヽ_ノ  (_/  │// ' >> /etc/motd

echo '  7       |/ ' >> /etc/motd

echo '  >―r ̄ ̄`ー―_ ' >> /etc/motd

echo '' >> /etc/motd

echo '' >> /etc/motd

echo ' ꧁༺༒༻꧂' >> /etc/motd

echo '' >> /etc/motd

echo '' >> /etc/motd

# 系统内核优化

#cat >> /etc/sysctl.conf <

# 表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。

# 默认为 180000,改为 5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,

# 但是对于Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。

# net.ipv4.tcp_max_tw_buckets = 6000

# net.ipv4.tcp_sack = 1 #用来查找特定的遗失的数据包---因此有助于快速恢复状态

# net.ipv4.tcp_window_scaling = 1 #设置tcp/ip会话的滑动窗口大小是否可变。1示可变,0不可变。

# net.ipv4.ip_local_port_range = 1024 65536 #用来指定外部连接的端口范围,默认是32 768到61 000

# net.ipv4.tcp_rmem=4096 87380 16777216 #指定接收套接字缓冲区大小的最大值,单位是字节。

# net.ipv4.tcp_wmem=4096 65536 16777216 #指定发送套接字缓冲区大小的最大值,单位是字节。

# net.ipv4.tcp_fin_timeout = 30 #此参数用于减少处于FIN-WAIT-2连接状态的时间,使系统可以处理更多的连接。此参数值为整数,单位为秒。

# net.ipv4.tcp_no_metrics_save=1

# net.ipv4.tcp_syncookies = 1 #该参数的功能有助于保护服务器免受SyncFlood***。默认值为0,这里设置为1。

# net.ipv4.tcp_max_orphans = 262144 #表示系统中最多有多少TCP套接字不被关联到任何一个用户文件句柄上。如果超过这里设置的数字,连接就会复位并#输出警告信息。这个限制仅仅是为了防止简单的DoS***。此值不能太小。这里设置为262 144。

# net.ipv4.tcp_max_syn_backlog = 65535 #记录的那些尚未收到客户端确认信息的连接请求的最大值。

# net.ipv4.tcp_synack_retries = 2 #这个参数用于设置内核放弃连接之前发送SYN+ACK包的数量。

# net.ipv4.tcp_syn_retries = 2 #此参数表示在内核放弃建立连接之前发送SYN包的数量。

# net.ipv4.tcp_tw_reuse=1 #表示开启重用。允许将TIME-WAIT套接字重新用于新的TCP连接。默认为0,表示关闭。

# net.ipv4.tcp_tw_recycle=1 #表示开启TCP连接中TIME-WAIT套接字的快速回收。默认为0,表示关闭。

# net.ipv4.tcp_keepalive_time = 1200 #表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,建议改为20分钟。

# net.ipv4.tcp_abort_on_overflow = 1

# net.ipv4.tcp_syncookies = 1

# net.ipv4.tcp_retries1 = 2

# net.ipv4.tcp_retries2 = 3

# net.core.rmem_max=16777216

# net.core.wmem_max=16777216

# net.core.netdev_max_backlog = 32768 #每个网口接收数据包的速率比内核处理包的速率快时,允许送到队列的数据包的最大数目

# 设置系统limit

echo '' >> /etc/security/limits.conf

echo '# nofile打开文件描述符的最大数目' >> /etc/security/limits.conf

/bin/echo "* soft nofile 65535" >> /etc/security/limits.conf

/bin/echo "* hard nofile 65535" >> /etc/security/limits.conf

echo '# nproc最大数量的进程' >> /etc/security/limits.conf

/bin/echo "* hard nproc 1204000" >> /etc/security/limits.conf

/bin/echo "* soft nproc 1204000" >> /etc/security/limits.conf

# limits.d/20-nproc.conf

echo -e "hao soft nproc 16384" >> /etc/security/limits.d/20-nproc.conf

# 磁盘分区 8e: Linux LVM

echo -e "n\np\n1\n\n\nt\n8e\np\nw\n" | fdisk /dev/sdb

# 创建LVM

partprobe /dev/sdb

pvcreate /dev/sdb1

vgcreate -s 64MB haovg /dev/sdb1

lvcreate -l 40%VG -n log haovg

lvcreate -l 60%VG -n data haovg

# 格式化

mkfs.ext4 /dev/haovg/log

mkfs.ext4 /dev/haovg/data

# 挂载

mkdir -p /log

mkdir -p /data

echo "" >> /etc/fstabd

echo "/dev/haovg/log /log ext4 defaults 1 2" >> /etc/fstab

echo "/dev/haovg/data /data ext4 defaults 1 2" >> /etc/fstab

mount -a

# yum

mkdir -p /etc/yum.repos.d/bak

mv -f /etc/yum.repos.d/* /etc/yum.repos.d/bak

cat > /etc/yum.repos.d/c7.repo <

[c7]

name=centos 7

baseurl=ftp://10.1.0.1/centos7

enabled=1

gpgcheck=0

EOF

# 命令补全

yum -y install bash-completion

# lrzsz是一款在linux里可代替ftp上传和下载的程序

yum -y install lrzsz

# sysstat是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据。

# iostat: 输出CPU的统计信息和所有I/O设备的输入输出(I/O)统计信息。

# mpstat: 关于CPU的详细信息(单独输出或者分组输出)。

# pidstat: 关于运行中的进程/任务、CPU、内存等的统计信息。

# sar: 保存并输出不同系统资源(CPU、内存、IO、网络、内核等。。。)的详细信息。

# sadc: 系统活动数据收集器,用于收集sar工具的后端数据。

# sa1: 系统收集并存储sadc数据文件的二进制数据,与sadc工具配合使用

# sa2: 配合sar工具使用,产生每日的摘要报告。

# sadf: 用于以不同的数据格式(CVS或者XML)来格式化sar工具的输出。

# Sysstat: sysstat工具的man帮助页面。

# nfsiostat: NFS(Network File System)的I/O统计信息。

# cifsiostat: CIFS(Common Internet File System)的统计信息。

yum -y install sysstat

# 时间同步工具

yum -y install ntpdate

# iptable

myipable(){

# 允许访问的 协议端口

port=$1

protocol=$2

# iptables -P INPUT DROP # 默认拒绝

# 添加允许访问的 协议端口

# iptables -I INPUT -p tcp --dport 22 -j ACCEPT

iptables -I INPUT -p $port --dport $protocol -j ACCEPT

# 保存

service iptables save

}

# firewall

myfirwall(){

}

## 列出软件组

#yum grouplist

## 安装图形化程序组

#yum -y groupinstall "Server with GUI"

## 查看默认运行级别

#systemctl get-default

## cat /etc/inittab

## systemctl set-default graphical.target

# 创建用户

groupadd -g 888 haogroup

useradd -d /hao -u 888 -g 888 -e "" hao

\cp /etc/skel/.bash* /hao

chown -R hao:haogroup /data/ /log /hao

echo 123456 | passwd --stdin hao

passwd -x 99999 hao

# 时间同步 此时间服务器是公网

( crontab -l; echo '* */1 * * * /usr/sbin/ntpdate 0.cn.pool.ntp.org' ) | crontab

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值