跳至主要内容

博文

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) { 然后保存,重登陆查看还有的话清理一下浏览器的缓存应该就行了!