分类 shell脚本 下的文章

一键安装KMS服务脚本

1. KMS 介绍

KMS,是 Key Management System 的缩写,也就是密钥管理系统。这里所说的 KMS,毋庸置疑就是用来激活 VOL 版本的 Windows 和 Office 的 KMS 啦。经常能在网上看到有人提供的 KMS 服务器地址,那么你有没有想过自己也来搞一个这样的服务呢?而这样的服务在 Github 上已经有开源代码实现了。
本文就是在这个开源代码的基础上,开发了适用于三大 Linux 发行版的一键安装 KMS 服务的脚本。

本脚本适用环境

系统支持:CentOS 6+,Debian 7+,Ubuntu 12+
虚拟技术:任意
内存要求:≥128M
日期  :2018 年 04 月 15 日

关于本脚本

1、本脚本适用于三大 Linux 发行版,其他版本则不支持。
2、KMS 服务安装完成后会加入开机自启动。
3、默认记录日志,其日志位于 /var/log/vlmcsd.log。

2. 安装方法

安装方法

使用root用户登录,运行以下命令:

wget  https://github.com/teddysun/across/raw/master/kms.sh && chmod +x kms.sh && ./kms.sh

安装完成后,输入以下命令查看端口号 1688 的监听情况

netstat -nxtlp | grep 1688

返回值类似于如下这样就表示 OK 了:

tcp        0      0 0.0.0.0:1688                0.0.0.0:                   LISTEN      3200/vlmcsd         tcp        0      0 :::1688                     :::                        LISTEN      3200/vlmcsd 

本脚本安装完成后,会将 KMS 服务加入开机自启动。

使用命令:
启动:/etc/init.d/kms start
停止:/etc/init.d/kms stop
重启:/etc/init.d/kms restart
状态:/etc/init.d/kms status

卸载方法:
使用 root 用户登录,运行以下命令:

./kms.sh uninstall

3. 使用方法

    如何使用 KMS 服务

    KMS 服务,用于在线激活 VOL 版本的 Windows 和 Office。
    激活的前提是你的系统是批量授权版本,即 VL 版,一般企业版都是 VL 版。而 VL 版本的镜像一般内置 GVLK key,用于 KMS 激活。
    下面列表里面含有的产品的 VL 版本或者能使用 key 进入 KMS 通道的产品,都支持使用 KMS 激活。

    Office 2016:https://technet.microsoft.com/zh-cn/library/dn385360(v=office.16).aspx
    Office 2013:https://technet.microsoft.com/ZH-CN/library/dn385360.aspx
    Office 2010:https://technet.microsoft.com/ZH-CN/library/ee624355(v=office.14).aspx
    Windows:https://docs.microsoft.com/zh-cn/windows-server/get-started/kmsclientkeys

    具体激活方法 这里就不介绍了,可以详细参考之前的文章:《Linux 下自建 KMS 服务器 - 激活 windows》、《Vlmcsd:KMS 服务器 for Windows(WIN 系统搭建 KMS 服务器)

     

    文章转载参考自:https://teddysun.com/530.html

     

    SuperBench.sh:又一个服务器一键测试脚本(Bench.sh加强版)

    1. SuperBench.sh介绍

    又一个测试脚本,可以看作Bench.sh的加强版。用着很不错,这次看到作者又更新了,就给大家分享出来。

    项目地址:https://github.com/oooldking/script

    2. 使用方法

    1. wget git.io/superbench.sh && chmod +x superbench.sh && ./superbench.sh  
    2. 或者  
    3. curl -LsO git.io/superbench.sh && chmod +x superbench.sh && ./superbench.sh  

    具体参数说明:

    1. ./superbench.sh info    #info 系统信息  
    2. ./superbench.sh io    #io 简单io测试  
    3. ./superbench.sh speed    #speed 速度测试  
    4. ./superbench.sh ip    #ip GEOIP信息  
    5. ./superbench.sh fast    #fast 快速模式  
    6. ./superbench.sh share    #share 分享  

    测试如图:

     

    文章参考自:https://www.oldking.net/599.html

      

     

    Linux Crontab命令定时任务基本语法与操作教程

    Crontab是一个Unix/Linux系统下的常用的定时执行工具,可以在无需人工干预的情况下运行指定作业。很多时候我们都要用到Crontab命令,例如在 《Let’s Encrypt 免费 通配符(野卡)域名证书》申请方法中提到了acme.sh 脚本就是利用了Crontab定时任务的形式来更新SSL证书。

    通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本,用Crontab实现每天定时重启VPS、服务器或者是Nginx、PHP、MysqL服务等。

    总之,掌握基本的Crontab命令语法对于我们管理自己的VPS主机是非常有必要的,本篇文章通过实例来讲解如何使用Linux Crontab命令,不作深入的探究,主要是方便日后的快速查询与参考。

     

    一、Crontab查看编辑重启

    1、查看crontab定时执行任务列表

    crontab -l

    2、编辑crontab定时执行任务

    crontab -e

    3、删除crontab定时任务

    crontab -r

    4、相关命令:

    sudo service crond start     #启动服务sudo service crond stop      #关闭服务sudo service crond restart   #重启服务sudo service crond reload    #重新载入配置sudo service crond status    #查看服务状态

    二、Crontab基本格式语法

    crontab 的时间表达式:

    基本格式 :          command分 时 日 月 周 命令

    先来看一个例子。每天凌晨1:00执行备份程序:0 1 /root/backup.sh 。其中/root/backup.sh 这是脚本路径,要使用绝对路径,前面的日期格式请直接看下图就知道了。

    crontab还有操作符,用来实现一些复杂的时间设定需要。操作符有:

    1、 取值范围内的所有数字 ,代表所有。

    2、/ 每过多少个数字 ,代表每隔n长时间。

    3、- 从X到Z ,代表一段时间范围。

    4、,散列数字,代表分割开多个值。

    PS:2018年4月15日更新,如果还有搞不懂代码公式的,可以使用这个在线Cron表达式生成器:http://cron.qqe2.com/

    三、20个经典Crontab应用实例

    以脚本/root/backup.sh 为演示,大家在使用时记得替换为自己的脚本路径。

     

    实例1:每1分钟执行一次

         /root/backup.sh

    实例2:每小时的第3和第15分钟执行一次

    3,15     /root/backup.sh

    实例3:每天的8点到11点的第3和第15分钟执行一次

    3,15 8-11    /root/backup.sh

    实例4:每隔两天的上午8点到11点的第3和第15分钟执行一次

    3,15 8-11 /2     /root/backup.sh

    实例5:每周一上午8点到11点的第3和第15分钟执行一次

    3,15 8-11   1 /root/backup.sh

    实例6:每晚的21:30执行一次

    30 21    /root/backup.sh

    实例7:每月1、10、22日的4 : 45执行一次

    45 4 1,10,22   /root/backup.sh

    实例8:每周六、周日的1 : 10执行一次

    10 1   6,0 /root/backup.sh

    实例9:每天18 : 00至23 : 00之间每隔30分钟执行一次

    0,30 18-23    /root/backup.sh

    实例10:每星期六的晚上23: 00 pm执行一次

    0 23   6 /root/backup.sh

    实例11:每一小时执行一次

     /1    /root/backup.sh

    实例12:每天晚上23点到第二天7点之间,每隔一小时执行一次

     23-7/1    /root/backup.sh

    实例13: 每个星期的第一天执行一次(即每个星期天晚上24:00开始执行).

    @weekly /root/backup.sh

    实例14:每个月的15日执行一次.

    0 11 15   /root/backup.sh

    实例15:每个月的第一天执行一次(即每个月的1日凌晨0点开始执行).

    @monthly /root/backup.sh

    实例16: 在指定的月份执行一次(在1月,4月和 6月每天晚上0点执行一次).

    0 0  jan,apr,jun  /root/backup.sh

    实例17: 重启后执行一次.

    @reboot /root/backup.sh

    实例18:定时任务执行后发一封邮件通知.

    MAILTO="raj"1 1    /root/backup.sh

    实例19:指定shell (默认的是/bin/bash)

    SHELL=/bin/sh1 1    /root/backup.sh

    实例20:指定环境变量.

    PATH=/sbin:/bin:/usr/sbin:/usr/bin 1 1    /root/backup.sh

    四、Crontab可能存在的问题

    4.1  Crontab不立即生效

    大家新建的Crontab定时任务保存后需要等待2分钟后才会执行,当然如果想要立即执行可以重启Crontab。当crontab失效时,可以尝试/etc/init.d/crond restart解决问题,或者查看日志看某个任务有没有执行/报错tail -f /var/log/cron。

    4.2  Crontab不执行

    脚本中涉及文件路径时写全局路径,更新系统时间时区后需要重启cron。当手动执行脚本OK,但是crontab死活不执行时很有可能是环境变量,可尝试在crontab中直接引入环境变量解决问题,例如:

    0     . /etc/profile;/bin/sh /root/backup.sh

    4.3  Crontab无权限执行

    要注意系统级任务调度与用户级任务调度。只有 root 用户和 crontab 文件的所有者可以在 -e 、-l-r 和 -v标志后面使用 UserName 以编辑、列出、除去或验证指定用户的 crontab 文件。

    root用户的任务调度操作可以通过”crontab –uroot –e”来设置,也可以将调度任务直接写入/etc/crontab文件。

    想编辑别的用户的 crontab, 使用root运行下面的命令,同一个格式 (追加 “-u username” 到命令后) 也可以用来列出或删除 crontabs。

     crontab -u username -e

    4.4  Crontab执行后通知

    当Crontab定时任务在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,可以在日志中/var/log/cron看到。若是你不希望收到这样的通知,请在每一行空一格之后加上 > /dev/null 2>&1 即可。

     

    全文转载修改来自:挖站否

    ZBench.sh:服务器一键测试脚本(自带结果导出/中/英文)

    • 简介

    ZBench.sh
    又一个Linux VPS测评脚本。
    ZBench.sh 是一个一键检测服务器基本性能的脚本,基础代码来自 SpeedTest 和 OldKing 的 SuperSpeed。平时测试VPS的时候一直是靠着 Bench.sh 来测试。
    脚本来自: 主机博客,项目地址为:https://github.com/FunctionClub/ZBench
    作者把这Bench.shSuperSpeed.sh两个脚本结合在一起,然后加入 Ping 以及 路由测试 功能,并且可以生成测评报告,很方便地分享给其他朋友看自己的测评数据。

    • 脚本命令

    如果中文版出现乱码等情况,请换成英文版。
    中文版:
    wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/ZBench/master/ZBench-CN.sh && bash ZBench-CN.sh
    英文版:
    wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/ZBench/master/ZBench.sh && bash ZBench.sh

    • 效果图

    测试完成效果如下图:
    20180118233809.jpg

    • 导出测试结果

    测试完之后呢,会在 /root / 下面生成一个 report.html 的文件。
    作者的例子:https://www.zhujiboke.com/zbench-example.html

    Linux下shell脚本:自动每日备份网站文件和数据库上传FTP空间

    • 前言

    服务器、vps,难免会遇到各种问题,丢失数据,则必然痛心疾首啊!!!
    数据无价,so建议养成定期备份的习惯!而且,要多备份几份,本地、网盘、FTP空间等,都多保存几份!
    这里,就为大家带来一个linux下,利用lftp作为上传方式的shell脚本,配合系统crontab定时计划任务实现每天自动备份网站数据,并上传到FTP空间!

    • 备份脚本

    脚本内容如下:

    !/bin/bash

    建议使用root账户登录执行本脚本

    赋予脚本执行权限 chmod +x BackupToFtp.sh

    修改相关账户和路径配置

    开始

    MYSQL_USER=root #mysql用户名
    MYSQL_PASS=123456 #mysql密码
    FTP_USER=ftpuser #ftp用户名
    FTP_PASS=123456 #ftp密码
    FTP_IP=123.123.123.123 #ftp地址
    FTP_backup=backup #ftp上存放备份文件的目录,请提前自己在ftp空间上创建
    WEB_DATA=/home/www #要备份的网站数据目录
    MYSQL_PATH=/usr/local/mysql #MYSQL安装路径
    DBNAME=dbname #要备份的数据库名称
    LOCALbackup_path=/home/backup #本地备份文件存放路径

    结束

    安装FTP LFTP命令工具

    echo "#---------------------------------------------------------------------#"
    echo "正在ftp lftp客户端工具...."
    echo "默认适用CentOS,Debian等系统请先修改本脚本相应位置命令"
    echo "若已经安装,请忽略即可"
    echo "installing Ftp Lftp...."
    echo "#---------------------------------------------------------------------#"
    yum install -y ftp lftp

    apt-get install-y ftp lftp

    设置数据库备份文件的名字和旧数据库备份文件的名字(旧:默认为5天前的)

    DataBakName=Data_$(date +"%Y%m%d").tar.gz
    OldData=Data_$(date -d -5day +"%Y%m%d").tar.gz

    设置网站数据备份文件的名字和旧网站数据备份文件的名字(旧:默认为5天前的)

    WebBakName=Web_$(date +%Y%m%d).tar.gz
    OldWeb=Web_$(date -d -5day +"%Y%m%d").tar.gz

    删除本地5天前的备份数据

    echo "#---------------------------------------------------------------------#"
    echo "自动删除本地5天前的备份数据文件...."
    echo "Auto delete local backup data files 5 days ago...."
    rm -rf $LOCALbackup_path/Data_$(date -d -5day +"%Y%m%d").tar.gz $LOCALbackup_path/Web_$(date -d -5day +"%Y%m%d").tar.gz
    cd $LOCALbackup_path

    导出需要备份的数据库为数据库SQL格式

    echo "#---------------------------------------------------------------------#"
    echo "正在导出需要备份的 $DBNAME 数据库sql备份文件...."
    echo "Exporting you set database:$DBNAME to SQL file...."
    $MYSQL_PATH/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS $DBNAME > $LOCALbackup_path/$DBNAME.sql

    压缩数据库文件并删除sql文件

    echo "正在压缩打包数据库sql备份文件...."
    echo "Tar the Database SQL file to tar.gz And delete SQL file...."
    tar zvcf $LOCALbackup_path/$DataBakName $LOCALbackup_path/*.sql
    rm -rf $LOCALbackup_path/*.sql

    压缩网站数据

    echo "#---------------------------------------------------------------------#"
    echo "正在压缩打包网站程序文件...."
    echo "Tar the WebData file to tar.gz...."

    tar zvcf $LOCALbackup_path/$WebBakName $WEB_DATA

    cd $WEB_DATA
    tar zvcf $LOCALbackup_path/$WebBakName *

    上传到FTP空间

    echo "#---------------------------------------------------------------------#"
    echo "数据打包完成,开始登录FTP空间...."
    echo "Start to login to FTP...."

    先进入备份文件路径

    cd $LOCALbackup_path

    默认方式:镜像同步,与下面的单个方式任选其一

    ------------------------------------------------------------------

    lftp -u $FTP_USER,$FTP_PASS -e "mirror -R --only-newer $LOCALbackup_path $FTP_backup" $FTP_IP << EOF
    bye
    EOF

    ------------------------------------------------------------------

    单个文件上传方式,请取消横线内的注释符#并注释掉前面的默认方式

    ------------------------------------------------------------------

    lftp -u $FTP_USER,$FTP_PASS $FTP_IP << EOF

    lftp << EOF

    open ftp://$FTP_USER:$FTP_PASS@$FTP_IP

    cd $FTP_backup

    echo "正在上传数据库备份文件...."

    echo "Uploading Database file...."

    put $DataBakName

    echo "正在上传网站程序备份文件...."

    echo "Uploading WebData file...."

    put $WebBakName

    bye

    EOF

    ------------------------------------------------------------------

    echo "#---------------------------------------------------------------------#"
    echo "上传所有备份文件完成..."
    echo "Upload all backup files complete..."
    echo "请登录FTP空间查看!"
    echo "Please login to the FTP check!"
    echo "#---------------------------------------------------------------------#"
    脚本内容结束
    emmm...请原谅博主英语比较差,大部分都是机翻过来的,懒得校正了!
    20171229224346.jpg

    • 自动备份

    配合系统crontab定时计划任务实现每天自动备份
    命令:crontab -e
    添加定时计划内容:00 00 * /BackupToFtp.sh
    (其中00 00为时间,格式:分/小时,可自行修改,例如:30 23,就是每天23.30运行这个脚本,/BackupToFtp.sh为脚本文件存放路径)

    • 结束语

    结束语就是,没有结束语!希望能帮到有需要的人吧!就是这样!


    Warning: in_array() expects parameter 2 to be array, null given in /www/users/HK1590886/WEB/usr/plugins/TopLamuLeimu/Plugin.php on line 85