linux swap 脚本,仅为方便和练习:自动增加swap的小脚本

仅为方便和练习:自动增加swap的小脚本

发布时间:2009-12-14 15:24:33来源:红联作者:一米短绳

[i=s] 本帖最后由 一米短绳 于 2009-12-14 15:53 编辑 [/i]

今天没老实的背期末复习题,刚才看到geguimin兄弟需要建立虚拟内存,后来geguimin兄弟自己已经弄好了。

然后我就想到了我自己,既然已经学了点shell脚本和建立swap的方法,何不写一个脚本来方便自己或者大家呢?

于是开始写。

先介绍一下菜鸟这个东西涉及到的小知识:

首先是指令---》 主要是dd / mkswap /swapon

其次是特殊的设备文件 /dev/zero

然后是一些有关shell的:比如>> 、 ${} 、 a=${a:-b} 、(test)[]判断等

最后就是我最喜欢的if语句啦~~

额外的,就是/etc/rc.d/rc.local这个配置文件----等于是个“批处理”文件,这样可以在下次开机自动启用新建的swap页面文件。为什么要用rc.local呢?因为在linux上面,一件事根据个人的习惯和经验可以有多种方法去解决或完成。所以大家也可以根据自己的习惯来更改脚本中关于自启动的代码。

这是效果:

[attach]28560[/attach]

当然,需要有root执行权限的。

先附上源代码(主要运行在图形界面的终端,所以出现了中文的提示)[code]#!/bin/bash

#Description:

# I do it for auto-create-swap.That's all.Only for working more easy.

#

#2009/12/14 一米短绳

#minghuan1204@gmail.com

#

PATH=$PATH:/sbin:/bin

export PATH

echo "你可以用free -m指令查看下当前的swap,这只是为之后验证确实增加了swap"

echo "你可以完全安全的反复运行这个脚本从而继续增加swap"

echo "运行后会在/tmp下建立一个存储swap页面的目录,当然你可以通过修改"

echo "脚本内容来进行个性设置"

swapdir=swap-extra

[ -e /tmp/$swapdir ] || mkdir /tmp/$swapdir

number=1

if [ -e /tmp/$swapdir/$number.swap ];then

number=$(($number+1))

fi

echo "建立/tmp/$swapdir/$number.swap"

echo =======================================================

echo "输入欲增加的swap大小,若是比较大(>512M),创建时间取决于你的硬盘读写速度"

read -p "(M字节,直接写数字不用写单位,默认是128):" swapnumber

swapnumber=${swapnumber:-128}

dd if=/dev/zero of=/tmp/$swapdir/${number}.swap bs=1M count=${swapnumber}

mkswap /tmp/$swapdir/$number.swap

swapon /tmp/$swapdir/$number.swap

echo "Complete!"

choice=y

read -p "需要设置开机自动启用吗?(y or n):" choice

if [ "$choice" == "y" ];then

echo "[ -e /tmp/$swapdir/$number.swap ] && swapon /tmp/$swapdir/$number.swap" >> /etc/rc.d/rc.local

echo "已经写入/etc/rc.d/rc.local以便开机下次开机即可使用新增的swap页面。"

else

echo "没有写入开机自动启用新增的swap"

fi

echo ===========================================================

echo "程序结束,你可以查看/tmp/$swapdir 目录中的swap页面文件,"

echo "同时,可以查看/etc/rc.d/rc.local 文件来确定/更改开机启用配置"

echo ============================================================

echo "若有疑问或其他,请联系minghuan1204@gmail.com共同交流。一米短绳,祝您愉快!"

echo ===========================================================

[/code]再附上打包好的tar.gz :

[attach]28559[/attach]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值