逛论坛意外发现 github 居然有一个这样的公开 api,https://github.com/{USER_ID}.keys,里面是这个用户添加的 key 公钥列表。于是想到自己经常登陆各种新服务器,每次都要复制 key 到服务器上,通过这个可能就简单许多,只需要无脑粘贴命令即可。当然,是需要先将自己的公钥添加到添加到 Github 的。(function(){mkdir -p ~/.ssh/; curl -s "https://github.com/${1}.keys" | sed "s/$/ github.com\/${1}/" >&g...
- 2022/07/10
- |
- 程序资源
- |
- 0 Replies
起因是公司需求,要求我们的部署程序最终可以构建出一个文件,上传全新的纯内网服务器后,自动化部署。而这个服务器是连 unzip 或 tar 都没有的环境,无奈只能通过 sh 脚本释放 tar 来解压自带的安装包了。核心代码为如下两行:tail --lines=+${attachment_start_line} "$0" > ./_tmp为实现将 sh 脚本若干行后的内容提取到文件head --bytes=${file_size} ./_tmp > ${file_name}为实现将 文件的前若干字节提取到文件。所以思路上就很简单了,这种所谓的自释放、自解压,其...
- 2020/05/21
- |
- 程序资源
- |
- 0 Replies
论坛上有人问《请教一下, Padavan 固件如何实现启动后每隔三天执行一次命令》,有时间就写了这个脚本:实现:首次启动后每隔若干时间,执行一次脚本,最低执行精度到分钟级。使用方法就是把这个脚本放到任意地方,然后在 cron 加入定时任务,并把脚本设置为开机启动即可。#!/bin/bash
# 如果此文件被放置于启动目录,则应该修改此处 $1 为 start 或 start_run
run_type="$1"
# 用于记录上次启动时间的文件
time_record_file="$0.time"
# 获取当前时间错
now_time=`date ...
- 2020/05/03
- |
- 程序资源
- |
- 0 Replies
纯 Shell 实现,无登录功能,需要手动设置 Cookies。原则上,同样适用其他论坛,自行改动部分代码即可。登录后,取 Cookies 写到 txt内,然后修改脚本中的配置即可。#!/bin/bash
#
# v2ex 自动签到
# 博客: https://www.qs5.org
# 作者: ImDong(青石)
#
# 2020年05月03日21:00:46
#
# 使用方法: 将网站登录后的 Cookies 保存到 txt 内,然后修改下面的配置即可
#
# crontab:
# * * * * * /bin/bash /home/pi/Projects/load_v2e...
- 2018/08/28
- |
- 心得分享
- |
- 0 Replies
工作需要,推送代码到测试/生产环境时都在统一的服务器上操作。每次推代码之前都要大吼一声,防止一个人在合并代码时被其他人切换了分支。理论上可用于任何命令,原理则是非常简单。利用同名的命令放在优先级更高的目录去。先执行脚本命令,通过判断bash的进程ID来区分不同的操作终端。检测通过后则允许继续操作。具体安装方法:先建立一个统一管理脚本的目录(/usr/local/lock_bin)然后将目录加入到 $PATH 中最前面,以优先搜索到我们的壳子命令。mkdir /usr/local/lock_bin
echo "export PATH=/usr/local/lock_bin:${P...
- 2017/05/03
- |
- 程序资源
- |
- 4 Replies
整理文件,把自己之前修改的自动备份网站的脚本发上来吧。自动获取所有数据库并备份。自动获取多个网站根目录下的所有网站并备份自动备份Nginx配置文件自动删除N天前的备份文件以上...#!/bin/bash
# 备份网站和数据库
# 作者: ImDong <www@qs5.org>
# 网站: http://www.qs5.org
# 作者: 本修改版基于 LNMP.org 的 backup.sh 修改而成
# 功能说明:
# 1.自动获取所有 Mysql 数据库自动备份
# 2.指定需要备份的网站根目录,自动备份下面所有的网站(分开) 而且支持多个根目录
#
# 使用说...