分类下相关文章
2023-05-06 · 阅读 298 · 字数 368
最近一直写接口文档,基于 swaggo 实现的文档服务。由于要跟前端配合,所以每天都要频繁更新接口文档,非常麻烦。之前是半自动化状态: makefile 中 scp 文档程序到服务器 手动登录服务器,再 makefile 执行 systemd reload 文档服务 (文档服务基于 golang gin 所以需要重启服务) 最近在看一个开源项目的 Makefile 时,发现可以使用 ssh 远程执行命令,这样就不需要手动登录服务器来操作了,甚好。 Makefile 代码 .PHONY: doc doc: swag init --output api_docs --tags "微 ...
2023-01-30 · 阅读 684 · 字数 213
在排查 certbot 不自动更新证书问题时,第一次知道 systemd timer 也能做为系统定时任务的管理工具。但是他与之前熟知的 crontab 有什么区别呢? 列举一下 systemd timer 的优势 支持微妙、毫秒、秒级的定时任务;而 crontab 只能支持到分钟级 上次任务没有执行完时,不会重复执行定时任务;而 crontab 需要手动处理单例问题 支持只执行一次的定时点的计划任务 方便的指定运行用户。 两个配置文件 每一个“.timer”文件必须有一个对应的“.service”文件存在,这样计时器才有意义。默认情况下,如果Timer和Service的文件名(不包含扩展 ...
2022-10-13 · 阅读 1105 · 字数 562
ulimit 的作用 网上大部分介绍是说,ulimit 显示的是当前用户的资源限制。 “ulimit” is an interesting Linux shell command that can set or report the resource limit of the current user. 而 man ulimit 的描述是,shell 的资源限制。 ulimit builtin sets or outputs the resource usage limits of the shell and any processes spawned by it. ulimit ...
2022-05-31 · 阅读 3033 · 字数 154
我发现家里电脑旧版本的 tmux 与 NeoVim 的 ale 插件有兼容性问题,在提示语法错误时,会导致 vim 显示混乱。而退出 tmux 或者在公司电脑上用最新的 tmux 就不会出现这种显示问题。 用 apt install 的方式并不能获取到最新的 tmux 版本。 所以只能从 github 上下载最新的代码,手动编译安装。 升级方法 sudo apt install libevent-dev ncurses-dev build-essential bison pkg-config wget https://github.com/tmux/tmux/releases/download ...
2022-05-28 · 阅读 2416 · 字数 389
之前由 tmuxinator 叛变到了 tmuxp, 但是不想 tmuxp 的打开速度奇慢无比,一个 8 个 window 的配置文件, 打开需要 5 秒以上,慢的不可思议。 于是今天借新建项目的机会,我又尝试了一个用 golang 实现的 tmux session 管理工具 - smug smug 的中文意思是: adj. 自鸣得意的;自以为是的;整洁的 n. 书呆子;自命不凡的家伙 我觉得可能是 session manager using go 的缩写吧,这样容易记忆。 smug 的优势 启动速度相比 tmuxp 这个渣渣快 N 倍,几乎秒开 配置相对 tmuxp 简洁太多 规避了对 ...
2022-03-15 · 阅读 2006 · 字数 125
例如我想在 Makefile 中定义 mysqldump, 然后读取 .env 中的参数配置。 .env 文件 DB_DATABASE=somedb DB_USERNAME=someuser DB_PASSWORD=password Makefile 直接 include 就可以 include .env .PHONY: mysqldump mysqldump: mysqldump -u$(DB_USERNAME) -p$(DB_PASSWORD) $(DB_DATABASE) > database/sql/data.sql make 执行 > make mysqldu ...
2022-03-08 · 阅读 1338 · 字数 247
目标 降低操作成本。能快速线上部署,更新代码 将线上一套没有配置 systemd 的服务,加上 systemd 配置 形成配置模板。避免每次都忘记具体命令,再就是代码更新,线上重启服务,形成脚本,节省时间 模板 systemd 配置形成 vim snippet。实际上是两个,一个是 systemd 的,一个是 makefile 的。 配置文件放到项目根目录的 config 目录下。集中存放 systemd,nginx 配置文件等 相关操作命令放到 Makefile 中。例如,systemctl enable start stop 等,scp 配置文件等。 TODO [X] vim s ...
2022-02-05 · 阅读 1069 · 字数 209
通过文件路径加载 tmuxp 配置文件,太麻烦。 tmuxp load ~/work/config/tmuxp/daily.yml 我希望能达到 tmuxinator 那种后面直接输入名字就可以加载的效果。 查了一下,tmuxp 还真的支持这个功能: https://tmuxp.git-pull.com/cli.html#load-session # name of the config, assume $HOME/.tmuxp/myconfig.yaml tmuxp load myconfig 即把所有配置文件都放到 ~/.tmuxp 目录下即可。 创建软链接 这样我只需要把 .tm ...
2022-05-28 · 阅读 2239 · 字数 896
为何要抛弃 tmuxinator tmuxinator 升级需要升级 ruby 升级 ruby 需要安装 rvm 安装 rvm 又需要更新 gpg 然而 gpg 更新永远连不上服务器 我对 ruby 升级的麻烦程度感到了无比的厌恶,而我电脑上唯一需要用到 ruby 的地方就是这个 tmuxinator。 $ sudo gem install tmuxinator Fetching: thor-1.2.1.gem (100%) Successfully installed thor-1.2.1 Fetching: xdg-2.2.5.gem (100%) Development of thi ...
2022-02-04 · 阅读 4981 · 字数 912
看了一段日本小哥的写代码视频,发现里面的 terminal 配置非常漂亮。 既然每天都要在 tmux 中工作,把界面美化一下还是有必要的,至少心情是愉悦的。 最终效果: 是时候更新一下配置了 现有的 .tmux.conf 文件是 10 年前配置的,之后就没怎么更新过了。 只有偶尔几次升级版本导致配置不兼容,才被动调整了几次。当前效果: .tmux 找到一个 star 16K 的 tmux 配置: https://github.com/gpakosz/.tmux 跟日本小哥的效果非常相似。 查看当前 tmux 版本 上面的 .tmux 配置有最低版本要求 tmux >= 2.3 (s ...
2021-06-09 · 阅读 1949 · 字数 55
例如,我想看看 Ubuntu Apt 中的 influxdb 版本是否是最新的 2.0 版本。 但是,我又不想先 apt install,仅仅想看看版本号。 可以使用 apt show: > apt show influxdb Package: influxdb Version: 1.6.4-1build1 Built-Using: golang-1.10 (= 1.10.4-2ubuntu1) ... ...
2021-06-08 · 阅读 4548 · 字数 120
将 WSL 1 升级到 WSL 2 之后,一直无法解析域名,例如 ssh 域名,报错: Could not resolve hostname 查看 resolv.conf 文件 ls -la /etc/resolv.conf /etc/resolv.conf -> ../run/resolvconf/resolv.conf 而 /run/resolvconf/resolv.conf 文件根本无法编辑。 解决方法 参考: https://github.com/microsoft/WSL/issues/5420 sudo rm /etc/resolv.conf sudo bash -c ...
2021-04-08 · 阅读 5245 · 字数 180
需求场景 我想将 golang 打印的日志保持到指定日志文件,方便需要的时候进行查看。例如: log.Println("some log") 而默认用 systemd 管理该服务的时候,是看不到日志输出的。 systemd 应用日志配置 每次重启都重置日志文件为空,重新写入: StandardOutput=file:/var/my.log StandardError=file:/var/my.log 保留所有日志历史,每次都 append: StandardOutput=append:/var/my.log StandardError=append:/var/my_er ...
2020-11-23 · 阅读 3308 · 字数 243
以一个实际案例来体验一下 linux 用户组的权限查看及配置。 需求场景 测试环境:ubuntu 20.04。 我在服务器上新建的用户,希望能够不用 sudo 就可以查看 nginx 的 access.log 日志文件。 无法直接查看 access.log 的原因 $ ls -lah -rw-r----- 1 www-data adm 1.3M Nov 23 08:24 access.log 看第一个字段的其他用户权限,为 000。即连读取的权限都没有。 最简单的解决方案 把新用户加入 adm 用户组。 首先查看 adm 用户组有哪些用户: $ sudo groupmems -g a ...
2020-11-19 · 阅读 6318 · 字数 144
为了防止被暴力破解服务器 root 密码,我决定禁止 root 用户远程登录。 禁用方法 修改 sshd 服务的配置文件: /etc/ssh/sshd_config 搜索 PermitRootLogin,由 yes 改成 no: PermitRootLogin no 修改完毕之后,重启 sshd 服务: sudo service ssh restart 测试 使用 root ssh 登录服务器,填写密码之后,会提示错误: Permission denied, please try again. 效果达到了。 注意 不要写错了,因为同目录下存在一个 /etc/ssh/ssh_confi ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |