《LINUX實戰:在 Linux 中使用 shell 腳本自動創建/移除并掛載交換文件》要點:
本文介紹了LINUX實戰:在 Linux 中使用 shell 腳本自動創建/移除并掛載交換文件,希望對您有用。如果有疑問,可以聯系我們。
幾天前我們寫了一篇關于在 Linux 中 3 種創建交換文件的辦法,它們是常見的辦法,但是需要人工操作.
今天我發現了一個 Gary Stafford?寫的 shell 小腳本(兩個 shell 腳本,一個用于創建交換文件,另外一個用于移除交換文件),它可以贊助我們在 Linux 中創建/移除并且自動掛載交換文件.
默認這個腳本創建并掛載 512MB 的交換文件.如果你想要更多的交換空間和不同的文件名,你必要相應地修改腳本.修改腳本不是一件困難的事,因為這是一個容易上手而且很小的腳本.
推薦閱讀: Linux 中 3 種簡易創建或擴展交換空間的辦法
?
使用 free?和 swapon
命令檢查已經存在交換空間.
$ free -h
total used free shared buff/cache available
Mem:2.0G1.3G139M45M483M426M
Swap:2.0G655M1.4G
$ swapon--show
NAME TYPE SIZE USED PRIO
/dev/sda5 partition 2G655.2M-1
上面的輸出顯示我當前的互換空間是 2GB
.
?
創立 create_swap.sh
文件并添加下面的內容來自動化交換空間的創立和掛載.
$ nano create_swap.sh
#!/bin/sh
#size of swapfile in megabytes
swapsize=1024
# does the swap file already exist?
grep-q "swapfile"/etc/fstab
#ifnotthen create it
if[ $?-ne 0];then
echo'swapfile not found. Adding swapfile.'
fallocate -l ${swapsize}M /swapfile
chmod600/swapfile
mkswap/swapfile
swapon/swapfile
echo'/swapfile none swap defaults 0 0'>>/etc/fstab
else
echo'swapfile found. No changes made.'
fi
echo'--------------------------------------------'
echo'Check whether the swap space created or not?'
echo'--------------------------------------------'
swapon--show
給文件添加執行權限.
$ sudo+x create_swap.sh
運行文件來創立和掛載交換文件.
$ sudo./create_swap.sh
swapfile not found.Adding swapfile.
Setting up swapspace version 1,size=1024MiB(1073737728 bytes)
no label, UUID=d9004261-396a-4321-a45f-9923e3e1328c
--------------------------------------------
Check whether the swap space created ornot?
--------------------------------------------
NAME TYPE SIZE USED PRIO
/dev/sda5 partition 2G954.1M-1
/swapfile file1024M0B-2
你可以看到新的 1024M 的 swapfile
.重啟系統以使用新的互換文件.
?
如果不再必要交換文件,接著創建 remove_swap.sh
文件并添加下面的內容來移除交換文件以及它的 /etc/fstab
掛載點.
$ nano remove_swap.sh
#!/bin/sh
# does the swap file exist?
grep-q "swapfile"/etc/fstab
#if it does then remove it
if[ $?-eq 0];then
echo'swapfile found. Removing swapfile.'
sed-i '/swapfile/d'/etc/fstab
echo"3">/proc/sys/vm/drop_caches
swapoff-a
rm-f /swapfile
else
echo'No swapfile found. No changes made.'
fi
echo'--------------------------------------------'
echo'Check whether the swap space removed or not?'
echo'--------------------------------------------'
swapon--show
并給文件添加可執行權限.
$ sudo+x remove_swap.sh
運行腳原來移除并卸載交換文件.
$ sudo./remove_swap.sh
swapfile found.Removing swapfile.
swapoff:/dev/sda5:swapoff failed:Cannot allocate memory
--------------------------------------------
Check whether the swap space removed ornot?
--------------------------------------------
NAME TYPE SIZE USED PRIO
/dev/sda5 partition 2G951.8M-1
via: http://www.2daygeek.com/shell-script-create-add-extend-swap-space-linux/
本文由 LCTT 原創編譯,Linux中國 榮譽推出
本文永遠更新鏈接地址:
學習更多LINUX教程,請查看站內專欄,如果有LINUX疑問,可以加QQ交流《LINUX實戰:在 Linux 中使用 shell 腳本自動創建/移除并掛載交換文件》。