跳至主要内容

博文

目前显示的是 2019的博文

监控你的lnmp状态是否正常

脚本介绍 本脚本主要用于监控 LNMP 环境中的 PHP/Nginx/MySQL 服务是否可用,若不可用则写入到日志,并通过 SendMail 发送邮件进行通知! 服务器组件安装 1、sendmail安装 之前在另外一篇文章有说到过,请同学们移步---> 利用shell监控服务器状态并且EMAIL获取报警 2、sharutils安装 Sendmail作为大多数Linux默认自带的邮件工具,把它利用起来配合做一些简单的系统管理工作,我觉得是非常好的。 之前我用sendmail每天定期将一些我需要的报告通过“正文”的方式直接发送到我的邮箱,但由于内容越来越多,看起来很不方便,如是想把这些报告通过附件的方式发送,而sendmail默认是不带有这个功能的,需要配合安装一个叫sharutils的软件包来实现。 apt install mailutils apt install sharutils 3、测试组件 利用uuencode使sendmail能发送带有附件的邮件 uuencode /home/wwwlogs/access.log access.log | mail -s "my lnmp log" your@mail.com 脚本完整代码 该 Shell 脚本已经在军哥的 LNMP 环境测试成功。 宝塔、WDCP 等搭建的可能不支持,有需要请自行修改。 脚本中的收件人邮箱、监测站点的 url,请修改为你自己的 #!/bin/bash ###获取当前时间 time="$(date +"%Y%m%d-%H:%M")" ###查看fpm服务是否运行 i=`netstat -an | grep php-cgi | wc -l` if [ $i = 0 ] then ###重启php服务 /etc/init.d/php-fpm restart ### 写入日志 echo "$time php-fpm service is down .... restart..." >> /var/log/php-fpm.log

等了好久终于等到了你的消息!

等了好久终于等到了你的消息!

Mac OS和Ubuntu OS下安装FFmpeg

Sandy经常下载下学习视频的文件都想要转换,mac很多软件是收费或者试用多少秒以后就不给转换了的。省的烦人,写个批量脚本搞定他 1.Ubntu OS下安装 第一步.安装 FFmpeg PPA sudo add-apt-repository ppa:jonathonf/ffmpeg-4 第二步.安装 FFmpeg sudo apt-get update sudo apt-get install ffmpeg 第三步.检查FFmpeg Version ffmpeg version 4.2.1-0york0~18.04 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) 第四步.FFmpeg 基本命令 ffmpeg -version: show version ffmpeg -formats: show available formats ffmpeg -codecs: show available codecs ffmpeg -decoders: show available decoders ffmpeg -encoders: show available encoders ffmpeg -bsfs: show available bit stream filters ffmpeg -protocols: show available protocols ffmpeg -filters: show available filters ffmpeg -pix_fmts: show available pixel formats ffmpeg -layouts: show standard channel layouts ffmpeg -sample_fmts: show available audio sample formats 第5步.测试命令 ffmpeg

如何让google手机实现和国外一样的使用场景-piexl篇

最近为了测试程序在android 10的真机下运行情况。买了一台piexl 2(大哥送滴),为了破解电信,tb卖家来回折腾了半个月。终于按照我的说法破解了以后别重置系统,就可以正常使用了! 在使用的过程中问题来了,gg套件在国内屏蔽。那原生态就失去了意义了。但是开启工具呢~sandy又觉得太难看了总是又一个钥匙挂在上面,而且信号和wifi都有个感叹号,真心受不了! 网上很多解决办法,但是都是隐藏感叹号之类的。不实用,sandy还是放弃了! 解决办法(android 9): 一、使用wifi的情况下全局命令 #设置代理 adb shell settings put global http_proxy 代理IP地址:端口号 #如: adb shell settings put global http_proxy 127.0.0.1:8888 #移除代理 adb shell settings delete global http_proxy adb shell settings delete global global_http_proxy_host adb shell settings delete global global_http_proxy_port 二、使用流量的情况下 找到运营商apn,然后在代理和端口一栏设置你的http代理地址 总结:这样就能完全解决wifi和信号感叹号的问题,而且你的google手机在国内使用和国外使用的时候一摸一样无任何限制!

iTerm配置导出与迁移方法

1、前言 iTerm软件的实用就不用在说了,最近迁移新工作电脑,打算把自己电脑配置好的iTerm迁移到新电脑,网上找了很久都没有找到教程,看到iTerm的profiles下有 'Copy Profile as JSON',但没有导出成文件,也没有导入配置的地方!! 找了好久,最后还是在官网上找到了说明,所以,软件的使用教程,直接去官网找,别在谷歌百度了!!! 2、iTerm配置导出&迁移 如果大家英文好,直接上官网看看吧, Dynamic Profiles - Documentation - iTerm2 - macOS Terminal Replacement 我这里简单说一下步骤,打开配置: iTerm -> Preferences -> Profiles -> Other Actions 然后有2种选择方式: Copy Profile as JSON (复制选中的当前配置) Copy All Profiles as JSON (复制全部的配置) 这里选择复制全部的配置,然后保存到一个文件里面,后缀可以不用选择,文件名随意起,如: 然后把这个配置文件,复制到新电脑的下面目录下: ~/Library/Application Support/iTerm2/DynamicProfiles/ 然后启动新电脑的 iTerm2,这时配置已经加载迁移成功啦,DynamicProfiles目录下的文件可以删除,因为 iTerm2 启动里,会自动加载这个目录下的配置内容,但是配置读取成功后,iTerm是另外保存配置的。

MacBook Pro 发热解决方案[持续更新]

1.因为Spotlight索引而疯狂运行的,解决方案:在终端输入 sudo mdutil -a -i off 输入解锁密码后回车 2.iCloud数据过大 导致疯狂同步,两个进程cloudd,bird,解决方案:关闭iCloud 3.photoanalysisd,photolibraryd这俩进程,出来的时候CPU占用也是贼高, launchctl stop com.apple.photolibraryd launchctl stop com.apple.photoanalysisd 再看看有没有办法,把这两个脚本的自动重启关掉,只要想办法找到启动这两个脚本的配置文件在哪里就好办了,于是就有了下面这个 launchctl unload -w /System/Library/LaunchAgents/com.apple.photoanalysisd.plist launchctl unload -w /System/Library/LaunchAgents/com.apple.photolibraryd.plist 干掉就对了

JWT Authentication for WP-API在nginx下使用

由于最近在调试wp的JWT Authentication for WP-API认证功能,但是sandy用了快10年的nginx了。实在不想去用apache,看了官方说明没也刻意去提示怎么修改。 其实2年前解决过这个问题,一直没记录下来。总是忘记,翻了好几个备份盘终于找到之前修改过的文档。 1. 解决办法 编辑nginx的vhost文件,在server里面任意地方加入 server { ................. fastcgi_pass_request_headers on; fastcgi_pass_header Authorization; ................... } 2. 在wordpress的config.php文件里面加入 define('JWT_AUTH_SECRET_KEY', 'keyname'); define('JWT_AUTH_CORS_ENABLE', true); 其中里面的keyname在wordpress官方生成 https://ift.tt/PYZFVq 这样就完全支持,至于怎么用就自己看官方的插件说明了,这里就不重复说了!

ubuntu下利用expect实现screen多窗口开机运行

ubuntu下利用expect实现screen多窗口开机运行 1. expect的安装与使用 1.1. expect的安装与使用 是什么 expect 是用来进行自动化控制和测试的工具。主要是和交互式软件telnet ftp ssh 等进行自动化的交互。 如何安装 1.2. 检测是否安装 ls /usr/bin |grep expect 如果不存在,则进行安装 1.3.安装 apt-get install tcl tk expect ls /usr/bin |grep expect autoexpect expect expect_autoexpect expect_autopasswd expect_cryptdir expect_decryptdir expect_dislocate expect_ftp-rfc expect_kibitz expect_lpunlock expect_mkpasswd expect_multixterm expect_passmass expect_rftp expect_rlogin-cwd expect_timed-read expect_timed-run expect_tknewsbiff expect_tkpasswd expect_unbuffer expect_weather expect_xkibitz expect_xpstat wiki对于expect说明https://ift.tt/2MugVKV 2. 安装screen apt-get install screen screen用法这里不做过多的介绍,请大家google搜索 3. 利用expect实现screen多窗口运行 3.1. 建立start.sh开机运行 #!/usr/bin/env bash screen_name1=$"baidu" screen -dmS $screen_name1 cmd1=$"ping www.baidu.com"; screen -x -S $screen_name1 -p 0 -X stuff "$cmd1" #创建screen screen -x -S $screen_name1 -p 0 -X stu

利用Mac下的launchctl(定时任务)来备份数据到google盘

利用Mac下的launchctl(定时任务)来备份数据到google盘 1. 说明 由于sandy用的是黑苹果,未知的状态太多。所以得备份。时光机器可以解决为什么还要launchctl来备份吗?两手备份是最安全的,吃过这样的亏上过这样的当。还是多一个备份渠道还是好滴! 2. 开始制作 2.1 创建备份脚本.sh脚本 进入~/Users/用户名称/ 程序所在目录 cd ~/Users/sandyliao 创建imacdownbak.sh脚本 vim imacdownbak.sh 添加下面脚本,修改相关的配置 #!/bin/bash #你要修改的地方从这里开始 WEB_DATA=/Users/sandyliao/Downloads #要备份的网站数据,如果是使用lnmp安装包,则默认这个为网站目录 #你要修改的地方从这里结束 #定义web数据的名字和web数据的名字 WebBakName=imac_Downloads_$(date +%Y%m%d).tar.gz OldWeb=imac_Downloads_$(date -d -10day +"%Y%m%d").tar.gz #删除Google Drive10天前的数据 rm -rf /Users/sandyliao/.CMVolumes/home\ sandy/imac/imac_Downloads_$(date -d -1day +"%Y%m%d").tar.gz #进入本地目录 cd /Users/sandyliao/Downloads #压缩网站数据 tar zcf /Users/sandyliao/Downloads/$WebBakName $WEB_DATA #移动到Google Drive盘里面去 mv /Users/sandyliao/Downloads/$WebBakName /Users/sandyliao/.CMVolumes/home\ sandy/imac/ echo “imac备份结束” :wq #保存退出 注意,脚本要改成可执行的权限 chmod 777 run.sh 2.2 2 编写plist文件 launchctl 将根据plist文件的信息来启动任务。 plist脚本

CloudFlare 自建DDNS教程

CloudFlare 自建DDNS教程 CloudFlare Global API 获取地址: https://www.cloudflare.com/a/profile Shell 脚本 安装一些要使用的组件 apt install update apt install vim apt install curl 得到 API 后,在 VPS 中下载脚本到/usr/local/bin 目录,把脚本命名为 cf-ddns.sh,并修改脚本的权限: curl https://gist.githubusercontent.com/benkulbertis/fff10759c2391b6618dd/raw > /usr/local/bin/cf-ddns.sh && chmod +x /usr/local/bin/cf-ddns.sh 修改 vim /usr/local/bin/cf-ddns.sh 找到以下内容并修改: auth_email="user@example.com" auth_key="c2547eb745079dac9320b638f5e225cf483cc5cfdda41" # found in cloudflare 3 account settings zone_name="example.com" record_name="www.example.com" auth_email 填写 CloudFlare 账号的邮箱 auth_key 填写获取的 Global API zone_name 填入域名 主域名 record_name 填入 DDNS 的域名 输入bash /usr/local/bin/cf-ddns.sh运行脚本,如果提示IP changed to: X.X.X.X,表明配置成功。 定时运行 crontab -e # 最下面添加,这里设置每 10 分钟运行一次 cf-ddns.sh 脚本 */10 * * * * rm /usr/local/bin/cloudflare.log */10 * * * * rm /usr/local/bin/cloudflare.ids */10 * *

Mac terminal无法清除历史纪录

我用的iterm2 + zsh Linux传统清除方式并没能解决 history -c 常用history命令: 查看历史命令纪录: history history | less 使用 !! 执行上一条命令 !! 使用 !foo 执行以 foo 开头的命令 !foo 使用 !n 执行第 n 个命令 !100 可以尝试下这样来解决: 在terminal中输入hist,然后tab键,出来以下这些 HISTCHARS HISTFILE HISTSIZE 了解历史记录的大小: echo $HISTSIZE 历史记录的保存位置: echo $HISTFILE # 查看history文件存放地址 echo > ~/.zsh_history # 清空 好了,退出terminal,重新登录检查一下即可 退出后,再history检查一下

群晖自动申请Let’s Encrypt的ssl域名证书,支持泛域名,支持自动签发,自动部署到群晖[新增cloudflare教程]

群晖自动申请Let’s Encrypt的ssl域名证书,支持泛域名,支持自动签发,自动部署到群晖[新增cloudflare教程] 使用条件 1.需要有一个域名 2.必须要有公网ip 3.dns使用阿里云、Dnspod、Godaddy、AWS、Linode、cloudflare均可 下载脚本(右键另存为,使用下载工具无法下载): 下载地址 首先获取cloudflare 的e-mail 和Key 如图方式申请 创建一个新的, 注意创建后要记得保存,因为这个只显示一次 之后修改config文件 修改主域名,DNS类型,生效时间,及你的DNS的e-mail 和Key(就是上面刚刚保存的e-mail和Key) export DOMAIN=e9china.net 这里是你的域名 export DNS=dns_cf 这里是你的dns类型,dns_cf就是cloudflare,具体类型可以看config文件内的说明,比如阿里云的为 dns_ali ,需要阿里云的Key和Secret,之前文章也介绍过,不知道在哪里查看的可以百度一下! export DNS_SLEEP=120 这里是生效时间,一般为60-120,不知道什么意思就保持默认 export DOMAIN=e9china.net # DNS类型,根据域名服务商而定 export DNS=dns_cf # DNS API 生效等待时间 值(单位:秒) # 某些域名服务商的API生效时间较大,需要将这个值加大(比如900) export DNS_SLEEP=120 # 阿里云 DNS=dns_ali export Ali_Key="LTqIA87hOKdjevsf5" export Ali_Secret="0p5EYueFNq501xnCPzKNbx6K51qPH2" # Dnspod DNS=dns_dp export DP_Id="78903" export DP_Key="1234567890000000000000000000" # Godaddy DNS=dns_gd export GD_Key="sdfsdfsdfljlbjkljlkjsdfoiwje" export GD

Mac下Aria2安装及其配置并设置开机启动

1.安装Homebrew 注:(如已安装,请忽略) 打开终端键入以下命令,等待完成 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2.安装最新版本aria2并配置 1.终端下输入以下命令 ➜ ~ brew install aria2 2.等待安装完成后,下载附件 Aria2相关配置下载地址 aria2 config 3.建立aria2文件夹 cd ~ // 创建aria2文件夹 mkdir ~/.aria2 4.打开刚才创建好的aria2文件夹 ➜ ~ open ~/.aria2 5.解压下载好的附件,将 下列文件 复制到aria2文件夹内 aria2.conf aria2.log aria2.session com.aria2c.plist com.google.Chrome.mobileconfig 6.将下载文件夹内的 aria2c 文件复制到 /usr/local/Cellar/aria2/1.33.1/bin 下 操作方式,终端输入命令 cd /usr/local/Cellar/aria2/1.33.1/bin 将该文件夹里的 aria2c 文件重命名为 aria2c.bak,再将下载文件夹内的 aria2c 复制进去 注: 1.理由是官方的 aria2c 版本最多支持16线程,sarkrui改好的aria2c版本支持128线程 2.文中所说的1.33.1是我当前从brew上下载下来的版本,实际以你brew下载下来的版本为准,如果和我版本不一致,请修改相关的1.33.1这个路径 7.右键使用文本编辑或sublime打开 aria2.conf 找到如下语句,将hsuyelin(本人电脑用户名)修改为你电脑的用户,修改完成 command+s 保存退出 #文件保存路径, 默认为当前启动位置 dir=/Users/hsuyelin/Downloads # 日志保存路径 log=/Users/hsuyelin/.aria2/aria2.log # 从会话文件中读取下载任务 input-file=/Users/hsu

Proxmox VE登陆的时候提示没有有效的订阅

Proxmox VE登陆的时候 提示没有有效的订阅 You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options. 问题描述: 最近测试KVM用的proxmox是免费版社区版的,所以每次都提示这个没有有效的订阅挺烦的! 解决方法: 修改文件/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js 修改之前记得先备份一下 root@e9china# cp proxmoxlib.js proxmoxlib.js.bak root@e9china# ls root@e9china# proxmoxlib.js proxmoxlib.js.bak root@e9china# vi proxmoxlib.js 然后找到if (data.status !== 'Active') { 修改为if (false) { 然后保存,重登陆查看还有的话清理一下浏览器的缓存应该就行了!

J1900软路由刷pve,安装ikuai+lede

J1900软路由刷pve,安装ikuai+lede pve是什么?pve是很多玩家的简称,其实全名叫:proxmox-ve。是一个虚拟机管理软件。今天我们就来折腾这个,网上很多教程要么就是太老了,要么就是版本不对!一大堆错误。Sandy一直卡在uefi引导系统里面过不去。测试了好几个版本的老毛桃pe都不行,后来实在没办法的。想起树莓派里面用过的一个软件Etcher,尝试一下,发现Ok哦~可以进入pve的安装界面了~ 安装用到的软件: Etcher https://www.balena.io/etcher/ Proxmox VE https://www.proxmox.com/en/downloads 最新版本 LEDE openwrt-koolshare-mod-v2.31-r10822-50aa0525d1-x86-64-combined-squashfs.img.gz ikuai https://www.ikuai8.com/component/download ios 64位 img2kvm https://blog.e9china.net/ssh/img2kvm img转vm硬盘格式 演示机器:j1900,4网口,64g硬盘,4g内存,1个16g以上的u盘 全部下载完成,我们就准备来折腾! 第一步 使用Etcher刻录pve到你的u盘 如图一样,很简单的功能。第一步选择你的ios或者img的位置,第二步选择你的u盘,第3步刻录。记住要清空u盘原来的数据的! 第二步 安装pve,如果你和sandy是同款j1900的机器,那么就是f7进入u盘启动,如果不是那就得自己看产品说明书了。 同意协议 选择硬盘 选择国家和键盘布局 管理密码和邮箱(邮箱建议别乱写) 设置ip 网口选择默认 Hostname 域名随便输入 Ip address: 192.168.1.100 pve管理后台地址 Netmask: 255.255.255.0 Gateway: 192.168.1.253 ikuai的管理地址 DNS server: 192.168.1.253 ikuai的管理地址 等待安装完成 重启系统 重启成功,显示后台登录。一定要用https访问 然后用网口1连