博客

  • [转载]VPS增加Swap交换分区

    生成文件块

    以下命令为生成读/写缓冲区的字节数为1M,Swap分区为1G的文件块。

    设置交换区

    启动交换器

    启动后,执行free -m命令,查看是否成功增加Swap交换分区,显示Swap分区的标识及分区大小则成功。

    设置开机挂载

    注:如果在 /etc/rc.local 中有 swapoff -a 需要修改为 swapon -a

    修改 swpapiness 参数

    在 Linux 系统中,可以通过查看 /proc/sys/vm/swappiness 内容的值来确定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,并且把内存中的数据及时地置换到 SWAP 分区。
    查看修改前为 0,需要在物理内存使用完毕后才会使用 SWAP 分区。
    可以使用下述方法临时修改此参数,假设我们配置为空闲内存少于 10% 时才使用 SWAP 分区:

    若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:

  • 免费领取5年虚拟主机

    景安是国内比较大的一家主机运营商 我自己也在景安上弄了个免费的网页空间
    唯一不足的就是他们的服务器节点是在郑州需要绑定备案的域名而且必须是景安备案的域名(网上可以找到别人共享的景安备案的二级域名)
    可以开个测试或者随便玩玩
    zzidc_freehost1
    zzidc_freehost2
     
     

    开通地址:https://www.zzidc.com/vhost/detail/1645.html (每人可以领取两个)

  • 电脑插入移动硬盘提示格式化

    在开始菜单点击【运行】,输入:chkdsk H:/F 其中H是你移动硬盘的盘符,根据自己实际情况而定,不一定就是H,F是修复错误的子命令。运行后会出现DOS修复界面,修复完成后再次读取即可,并且硬盘上数据不会丢失。
    chkdsk H(需要修复的复盘):/F(修复命令)
     
    硬盘修复
    注意:容量超过3T的硬盘慎用  我的3T硬盘分区被改成MBR的了(原本是GPT分区或者叫GUID分区) 只显示了2T内容 被坑了 文件还在但不显示了 正在修复中

  • [转载]多服务器监控、多VPS监控 —— ServerStatus 一键管理脚本

    系统要求

    CentOS 7 / Debian 7+ / Ubuntu 14.04 +
    推荐 Debian 7 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。

    注意,既然是个 多服务器云监控程序,那么你肯定需要两个以上的服务器(其实一个也可以,客户端和服务端可以同时安装),一个服务器做服务端,脚本会自动安装Caddy并配置好HTTP服务的,然后接收各个客户端实时发来的信息并通过网站显示出来。 因为客户端每秒都会发送最新的信息给服务端,所以要保证客户端与服务端直接网络通常,否则网页显示会很抽风。
    虽然客户端每秒都会发送信息到服务端,但是对流量消耗是很小的,毕竟每次发送的数据都只有几百或上千个字符。

    ServerStatus 客户端需要 Python 2.7版本以上才可以正常运行,如果不是那么请升级( python -V 查看版本)。

    注意:CentOS6 系统默认的Python版本是2.6,版本太低,使用客户端会出问题,请升级Python或者更换系统。

    脚本版本

    Ver: 1.0.8

    安装步骤

    执行下面的代码下载并运行脚本。

    wget -N --no-check-certificate https://softs.pw/Bash/status.sh && chmod +x status.sh
    # 如果上面这个脚本无法下载,尝试使用备用下载:
    wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/status.sh && chmod +x status.sh
    

    下载脚本后,根据需要安装客户端或者服务端:

    # 显示客户端管理菜单
    bash status.sh c
    # 显示服务端管理菜单
    bash status.sh s
    

    运行脚本后会出现脚本操作菜单,选择并输入 1 就会开始安装。
    一开始会提示你输入网站服务器的域名和端口,如果没有域名可以直接回车代表使用本机IP:8888

    简单步骤

    首先安装服务端,安装过程中会提示:

    是否由脚本自动配置HTTP服务(服务端的在线监控网站)[Y/n]
    # 如果你不懂,那就直接回车,如果你想用其他的HTTP服务自己配置,那么请输入 n 并回车。
    # 注意,当你曾经安装过 服务端,同时没有卸载Caddy(HTTP服务),那么重新安装服务端的时候,请输入 n 并回车。
    

    然后添加或修改 初始示例的节点配置注意用户名每个节点配置都不能重复,其他的参数都无所谓了。
    然后安装客户端,根据提示填写服务端的IP 和前面添加/修改 对应的 节点用户名和密码(用于和服务端验证),然后启动就好了

    使用说明

    进入下载脚本的目录并运行脚本:

    # 客户端管理菜单
    ./status.sh c
    # 服务端管理菜单
    ./status.sh s
    

    然后选择你要执行的选项即可。

    ServerStatus 一键安装管理脚本 [vx.x.x]
    -- Toyo | doub.io/shell-jc3 --
    0. 升级脚本
    ————————————
    1. 安装 服务端
    2. 卸载 服务端
    ————————————
    3. 启动 服务端
    4. 停止 服务端
    5. 重启 服务端
    ————————————
    6. 设置 服务端配置
    7. 查看 服务端信息
    8. 查看 服务端日志
    ————————————
    9. 切换为 客户端菜单
    当前状态: 服务端 已安装 并 已启动
    请输入数字 [0-9]:
    

    其他操作

    客户端:
    [collapse title=”点我查看”]

    启动:service status-client start
    停止:service status-client stop
    重启:service status-client restart
    查看状态:service status-client status
    

    [/collapse]
    服务端:
    [collapse title=”点我查看”]

    启动:service status-server start
    停止:service status-server stop
    重启:service status-server restart
    查看状态:service status-server status
    

    [/collapse]
    Caddy(HTTP服务):
    [collapse title=”点我查看”]

    启动:service caddy start
    停止:service caddy stop
    重启:service caddy restart
    查看状态:service caddy status
    Caddy配置文件:/usr/local/caddy/Caddyfile
    

    [/collapse]

    目录结构

    安装目录:/usr/local/ServerStatus
    网页文件:/usr/local/ServerStatus/web
    配置文件:/usr/local/ServerStatus/server/config.json
    客户端查看日志:tail -f tmp/serverstatus_client.log
    服务端查看日志:tail -f /tmp/serverstatus_server.log

    其他说明

    我的修改版对单位进行了统一,这样避免用户识别混乱。
    网络实时流量单位为:G=GB/s,M=MB/s,K=KB/s
    服务器总流量单位为:T=TB,G=GB,M=MB,K=KB

    修改网页标题或公告

    如果要修改网页标题或者网页顶部公告内容,打开 /usr/local/ServerStatus/web/index.html 文件修改即可,很显眼。

    提示wget: unknown host “softs.pw”之类的错误

    [collapse title=”点我查看”]
    这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。

    echo -e "nameserver 8.8.8.8
    nameserver 8.8.4.4" > /etc/resolv.conf
    

    [/collapse]

    提示 wget: command not found 的错误

    [collapse title=”点击查看”] 这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget

    # CentOS系统:
    yum install -y wget
    # Debian/Ubuntu系统:
    apt-get install -y wget
    

    [/collapse]

    Caddy启动失败,打开 http://ip 显示的是 It works !

    [collapse title=”点击查看”] 一些系统会自带 apache2 ,而 apache2 会占用80端口,导致Caddy无法绑定端口,所以只要关掉就好了。

    netstat -lntp
    # 我们可以通过这个命令查看是不是被其他软件占用了 80 端口。
    

    不过 apache2 会默认开机自启动,如果不需要可以关闭自启动或者卸载 apache2 。
    停止 Apache2

    service apache2 stop
    # 尝试使用上面这个关闭,如果没效果或者提示什么错误无法关闭,那就用下面这个强行关闭进程。
    kill -9 $(ps -ef|grep "apache2"|grep -v "grep"|awk '{print $2}')
    

    取消开机自启动

    # CentOS 系统 #
    chkconfig --del httpd
    # Debian/Ubuntu 系统 #
    update-rc.d -f apache2 remove
    

    卸载 Apache2(卸载包括了取消开机启动,无需重复)

    # CentOS 系统 #
    yum remove httpd
    # Debian/Ubuntu 系统 #
    apt-get remove --purge apache2
    

    关闭 Apache2后,就可以尝试启动 Caddy ,并试试能不能打开网页。

    service caddy start
    

    [/collapse]

    升级脚本

    升级脚本只需要运行脚本,然后选择并输入
     0 回车即可,会自动检测最新版本并下载,当然重新下载脚本文件也可以,会自动覆盖原文件。
    ServerStatus

    本文转载自:逗比根据地

  • CentOS 7关闭默认防火墙

    systemctl stop firewalld.service #停止firewall
    systemctl disable firewalld.service #禁止firewall开机启动
    firewall-cmd –state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

  • 常用的正则表达式

    //正整数
    /^[0-9]*[1-9][0-9]*$/;
    //负整数
    /^-[0-9]*[1-9][0-9]*$/;
    //正浮点数
    /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
    //负浮点数
    /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;
    //浮点数
    /^(-?\d+)(\.\d+)?$/;
    //email地址
    /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
    //url地址
    /^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/;
    或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$
    //年/月/日(年-月-日、年.月.日)
    /^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/;
    //匹配中文字符
    /[\u4e00-\u9fa5]/;
    //匹配帐号是否合法(字母开头,允许5-10字节,允许字母数字下划线)
    /^[a-zA-Z][a-zA-Z0-9_]{4,9}$/;
    //匹配空白行的正则表达式
    /\n\s*\r/;
    //匹配中国邮政编码
    /[1-9]\d{5}(?!\d)/;
    //匹配身份证
    /\d{15}|\d{18}/;
    //匹配国内电话号码
    /(\d{3}-|\d{4}-)?(\d{8}|\d{7})?/;
    //匹配IP地址
    /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/;
    //匹配首尾空白字符的正则表达式
    /^\s*|\s*$/;
    //匹配HTML标记的正则表达式
    < (\S*?)[^>]*>.*?|< .*? />;
    //sql 语句
    ^(select|drop|delete|create|update|insert).*$
    //提取信息中的网络链接
    (h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
    //提取信息中的邮件地址
    \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
    //提取信息中的图片链接
    (s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
    //提取信息中的 IP 地址
    (\d+)\.(\d+)\.(\d+)\.(\d+)
    //取信息中的中国手机号码
    (86)*0*13\d{9}
    //提取信息中的中国邮政编码
    [1-9]{1}(\d+){5}
    //提取信息中的浮点数(即小数)
    (-?\d*)\.?\d+
    //提取信息中的任何数字
    (-?\d*)(\.\d+)?
    //电话区号
    ^0\d{2,3}$
    //腾讯 QQ 号
    ^[1-9]*[1-9][0-9]*$
    //帐号(字母开头,允许 5-16 字节,允许字母数字下划线)
    ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
    //中文、英文、数字及下划线
    ^[\u4e00-\u9fa5_a-zA-Z0-9]+$
    
  • 常用JS功能

    11、后退 前进

    
    
    

    12、返回

    13、查看源码

    
    

    14、禁止查看源码

    
    

    15、刷新按钮

    1、
    
    2、
    

    16、状态栏信息

    
    
    

    17、窗口最小化

    < PARAM name="Command" value="Minimize">< button onClick="min.Click()">窗口最小化
    

    18、全屏代码

    
    

    19、关闭窗口

    1、< param name="Command" value="Close">< input type="button" value="关闭窗口" onClick="closes.Click();">
    2、
    

    20、最大化

    
    
    

    21、关闭输入法

    
    

    22、警告框显示源代码

    
    

    23、打印

    
    

    24、打印预览

    
    
    

    25、另存为

    
    

    26、点击自动复制

    
    
    

    27、11种刷新按钮的方法

    
    
    
    
    
    
    
    
    
    
    

    28、网页半透明

    
    

    h2>29、使用 记事本 编辑

    使用 记事本 编辑
    

    30、发送E-mail

    发送E-mail
    

    31、收藏夹

    整理收藏夹
    加入收藏
    添加到收藏夹
    点击加入收藏夹
    

    32、左侧滚动条

    滚动条在左侧,将改为
    

    33、防止网页被框架

    
    

    34、爽眼闪屏代码

    
    

    35、显示现在时间的脚本

    
    

    36、无法最小化的窗口

    
    
  • JavaScript取整

    丢弃小数部分,保留整数部分

    parseInt(5/2)
    

    向上取整,有小数就整数部分加1

    Math.ceil(5/2)
    

    四舍五入

    Math.round(5/2)
    

    向下取整

    Math.floor(5/2)
    

    Math 对象的方法

    abs(x)	返回数的绝对值
    acos(x)	返回数的反余弦值
    asin(x)	返回数的反正弦值
    atan(x)	以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值
    atan2(y,x)	返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)
    ceil(x)	对一个数进行上舍入。
    cos(x)	返回数的余弦
    exp(x)	返回 e 的指数。
    floor(x)	对一个数进行下舍入。
    log(x)	返回数的自然对数(底为e)
    max(x,y)	返回 x 和 y 中的最高值
    min(x,y)	返回 x 和 y 中的最低值
    pow(x,y)	返回 x 的 y 次幂
    random()	返回 0 ~ 1 之间的随机数
    round(x)	把一个数四舍五入为最接近的整数
    sin(x)	返回数的正弦
    sqrt(x)	返回数的平方根
    tan(x)	返回一个角的正切
    toSource()	代表对象的源代码
    valueOf()	返回一个 Math 对象的原始值
    
  • VPS精简代码

    yum remove Deployment_Guide-en-US finger cups-libs cups ypbind
    yum remove bluez-libs desktop-file-utils ppp rp-pppoe wireless-tools irda-utils
    yum remove sendmail* samba* talk-server finger-server bind* xinetd
    yum remove nfs-utils nfs-utils-lib rdate fetchmail eject ksh mkbootdisk mtools
    yum remove syslinux tcsh startup-notification talk apmd rmt dump setserial portmap yp-tools
    yum groupremove "Mail Server" "Games and Entertainment" "X Window System" "X Software Development"
    yum groupremove "Development Libraries" "Dialup Networking Support"
    yum groupremove "Games and Entertainment" "Sound and Video" "Graphics" "Editors"
    yum groupremove "Text-based Internet" "GNOME Desktop Environment" "GNOME Software Development"