Linux一键增加Swap脚本

以下是代码

\#!/usr/bin/env bash



Green="\033[32m"

Font="\033[0m"

Red="\033[31m" 



\#root权限

root_need(){

  if [[ $EUID -ne 0 ]]; then

​    echo -e "${Red}Error:This script must be run as root!${Font}"

​    exit 1

  fi

}



\#检测ovz

ovz_no(){

  if [[ -d "/proc/vz" ]]; then

​    echo -e "${Red}Your VPS is based on OpenVZ,not supported!${Font}"

​    exit 1

  fi

}



add_swap(){

echo -e "${Green}请输入需要添加的swap,建议为内存的2倍!${Font}"

read -p "请输入swap数值:" swapsize



\#检查是否存在swapfile

grep -q "swapfile" /etc/fstab



\#如果不存在将为其创建swap

if [ $? -ne 0 ]; then

  echo -e "${Green}swapfile未发现,正在为其创建swapfile${Font}"

  fallocate -l ${swapsize}M /swapfile

  chmod 600 /swapfile

  mkswap /swapfile

  swapon /swapfile

  echo '/swapfile none swap defaults 0 0' >> /etc/fstab

​     echo -e "${Green}swap创建成功,并查看信息:${Font}"

​     cat /proc/swaps

​     cat /proc/meminfo | grep Swap

else

  echo -e "${Red}swapfile已存在,swap设置失败,请先运行脚本删除swap后重新设置!${Font}"

fi

}



del_swap(){

\#检查是否存在swapfile

grep -q "swapfile" /etc/fstab



\#如果存在就将其移除

if [ $? -eq 0 ]; then

  echo -e "${Green}swapfile已发现,正在将其移除...${Font}"

  sed -i '/swapfile/d' /etc/fstab

  echo "3" > /proc/sys/vm/drop_caches

  swapoff -a

  rm -f /swapfile

  echo -e "${Green}swap已删除!${Font}"

else

  echo -e "${Red}swapfile未发现,swap删除失败!${Font}"

fi

}



\#开始菜单

main(){

root_need

ovz_no

clear

echo -e "———————————————————————————————————————"

echo -e "${Green}Linux VPS一键添加/删除swap脚本${Font}"

echo -e "${Green}1、添加swap${Font}"

echo -e "${Green}2、删除swap${Font}"

echo -e "———————————————————————————————————————"

read -p "请输入数字 [1-2]:" num

case "$num" in

  1)

  add_swap

  ;;

  2)

  del_swap

  ;;

  *)

  clear

  echo -e "${Green}请输入正确数字 [1-2]${Font}"

  sleep 2s

  main

  ;;

  esac

}

main

 

<<:  Debian10安装iRedMail v1.2.1详细教程

>>:  Centos7安装Zimbra-8.8开源邮件系统

[Day - 05] - Spring Bean 运作与原理

Abstract 在前面章节我们已有进行模拟Spring框架之实作范例及介绍,使用者可理解到所有服务...

网络框架:如何制定protocol

接着上一篇,来看看如何制定protocol,制定的时候,一般是server端和client端双方坐下...

如何共用行事历?

公司使用Office365商业基本版 没有自建邮件服务器,是使用中华电信的hibox挂在Outloo...

Day23:交给专业的来

我们来看看Executor介面的内容: package java.util.concurrent; ...

[Day15] 策略最佳化模组改造(4)

既然期货那边在找到历史资料的资讯源之前还没办法动作,就先回来把最佳化的部分做收尾。 Day14制作的...