随笔-156  评论-223  文章-30  trackbacks-0
   为了方便更改系统tcp内核的一些参数,编写ktcpopt脚本如下
1#! /bin/bash 
2# ktcpopt 
3
4sed -i '/net.ipv4.tcp_syncookies\|net.ipv4.tcp_tw_reuse\|net.ipv4.tcp_tw_recycle\|net.ipv4.tcp_fin_timeout\|net.ipv4.tcp_max_syn_backlog\|net.ipv4.tcp_max_tw_buckets\|net.ipv4.ip_local_port_range/d' /etc/sysctl.conf
5
6sed -i '$a\net.ipv4.tcp_syncookies=1\nnet.ipv4.tcp_tw_reuse=1\nnet.ipv4.tcp_tw_recycle=1\nnet.ipv4.tcp_fin_timeout=30\nnet.ipv4.tcp_max_syn_backlog=8192\nnet.ipv4.tcp_max_tw_buckets=5000\nnet.ipv4.ip_local_port_range=10000 65000' /etc/sysctl.conf

  为了方便配置程序的崩溃调试,编写coredump脚本如下
1#! /bin/bash
2# coredump
3
4sed -i '/ulimit -c unlimited\|export core_path=\/tmp\/corefiles\|mkdir -p $core_path\|echo "0" > \/proc\/sys\/kernel\/core_uses_pid\|echo "$core_path\/%e" > \/proc\/sys\/kernel\/core_pattern/d' ~/.bashrc
5
6sed -i '$a\ulimit -c unlimited\nexport core_path=/tmp/corefiles\nmkdir -p $core_path\necho "0" > /proc/sys/kernel/core_uses_pid\necho "$core_path/%e" > /proc/sys/kernel/core_pattern' ~/.bashrc

   从以上2个脚本可以看出,为避免每次调用脚本时增加重复行以致配置文件逐渐变大,先删除已经存在的相关配置,再在末尾增加。这里使用了sed来实现直接在文件中删除和增加,其中由于删除操作的匹配模式有多个,因此使用了|符号并用\转义,并且第2个脚本模式文本中含有/符号,这与sed本身的模式限定符/存在歧义,因此也用了\转义;增加使用$a\命令来实现在文件末尾增加配置,并用\n换行。
posted on 2014-03-24 18:44 春秋十二月 阅读(1371) 评论(0)  编辑 收藏 引用 所属分类: System

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理