首页 > shell

基于 github 公开的 keys 快速添加到 ssh 的 authorized_keys

逛论坛意外发现 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...

shell 实现自释放多文件,自解压功能。

起因是公司需求,要求我们的部署程序最终可以构建出一个文件,上传全新的纯内网服务器后,自动化部署。而这个服务器是连 unzip 或 tar 都没有的环境,无奈只能通过 sh 脚本释放 tar 来解压自带的安装包了。核心代码为如下两行:tail --lines=+${attachment_start_line} "$0" > ./_tmp为实现将 sh 脚本若干行后的内容提取到文件head --bytes=${file_size} ./_tmp > ${file_name}为实现将 文件的前若干字节提取到文件。所以思路上就很简单了,这种所谓的自释放、自解压,其...

Linux下实现系统启动后每隔3天执行一次脚本。

论坛上有人问《请教一下, Padavan 固件如何实现启动后每隔三天执行一次命令》,有时间就写了这个脚本:实现:首次启动后每隔若干时间,执行一次脚本,最低执行精度到分钟级。使用方法就是把这个脚本放到任意地方,然后在 cron 加入定时任务,并把脚本设置为开机启动即可。#!/bin/bash # 如果此文件被放置于启动目录,则应该修改此处 $1 为 start 或 start_run run_type="$1" # 用于记录上次启动时间的文件 time_record_file="$0.time" # 获取当前时间错 now_time=`date ...

[Shell脚本] 某技术论坛自动签到挂积分小脚本

纯 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...

Linux下命令独占操作锁,解决同一个服务器上操作git时可能导致的冲突。

工作需要,推送代码到测试/生产环境时都在统一的服务器上操作。每次推代码之前都要大吼一声,防止一个人在合并代码时被其他人切换了分支。理论上可用于任何命令,原理则是非常简单。利用同名的命令放在优先级更高的目录去。先执行脚本命令,通过判断bash的进程ID来区分不同的操作终端。检测通过后则允许继续操作。具体安装方法:先建立一个统一管理脚本的目录(/usr/local/lock_bin)然后将目录加入到 $PATH 中最前面,以优先搜索到我们的壳子命令。mkdir /usr/local/lock_bin echo "export PATH=/usr/local/lock_bin:${P...

Shell脚本,自动备份网站和数据库

整理文件,把自己之前修改的自动备份网站的脚本发上来吧。自动获取所有数据库并备份。自动获取多个网站根目录下的所有网站并备份自动备份Nginx配置文件自动删除N天前的备份文件以上...#!/bin/bash # 备份网站和数据库 # 作者: ImDong <www@qs5.org> # 网站: http://www.qs5.org # 作者: 本修改版基于 LNMP.org 的 backup.sh 修改而成 # 功能说明: # 1.自动获取所有 Mysql 数据库自动备份 # 2.指定需要备份的网站根目录,自动备份下面所有的网站(分开) 而且支持多个根目录 # # 使用说...

最近回复

标签