我用4个脚本,搞定传统公司五个人的运维活





标题夸张点哈,其实只是想分享这次优化项目部署体系的一些实践。
身为一个独立开发者,开发+上线+维护都是我自己扛,有时候真的会在凌晨debug服务器崩溃。
所以我花了一点时间,把部署运维流程封装成了「4 个脚本」,上线再也不怕出锅。
我现在用的这 4 个脚本:
1️⃣ server-setup.sh – 快速初始化一台干净的服务器
安装 Docker & Docker Compose
系统优化(swap、ulimit、时区、防火墙)
自动安装 fail2ban + ufw + basic firewall
Certbot 安装+Nginx配置模板准备好
📌 用法:刚买的服务器,跑这一个脚本就能快速上线一套环境。
2️⃣ deploy.sh – 一键部署,包含备份、构建、检测
自动备份数据库 ➜ 停止服务 ➜ 拉取代码 ➜ 构建镜像 ➜ 启动服务 ➜ 健康检查
dev / prod 环境自动切换
自动清理旧日志、旧镜像
失败回滚机制(预留)
📌 用法:部署一键跑,过程可回溯,心态更稳了。
3️⃣ backup.sh / restore.sh – 数据安全底线
支持定时任务 / 手动触发
备份文件按时间戳命名
自动保留最近 N 个备份
恢复操作支持交互和命令行两种方式
📌 用法:上线前、版本迭代前、日常定时 —— 必备!
4️⃣ manage.sh – 集成日常所有小工具
快速查看日志(按服务)
系统资源 & docker stats 一键展示
清理无用容器和 volume
SSL 证书手动/自动续期工具
查看运行状态和端口占用
📌 用法:我现在几乎不手动 ssh 登录机器操作,所有都通过这个脚本执行。
遇到的一些坑 & 补充说明
✅ Git 脚本权限问题
Linux 下拉下来脚本没权限、chmod 又让 Git 检测变化 → 用 core.filemode false 忽略,再配合 post-merge 钩子修正权限。
✅ Nginx + HTTPS 自动化
我直接把 nginx 配置模版和 certbot 脚本绑定,每次申请、续期、reload 一步搞定。
✅ 健康检查
部署脚本里加了 curl 端口检查 + 容器探针检测,挂了就中断部署。
也欢迎交流你的部署流程,有哪些技巧值得推荐![斜眼R]
#产品开发笔记 #Devops #运维工程师 #独立开发 @知识薯 @薯队长 @职场薯
身为一个独立开发者,开发+上线+维护都是我自己扛,有时候真的会在凌晨debug服务器崩溃。
所以我花了一点时间,把部署运维流程封装成了「4 个脚本」,上线再也不怕出锅。
我现在用的这 4 个脚本:
1️⃣ server-setup.sh – 快速初始化一台干净的服务器
安装 Docker & Docker Compose
系统优化(swap、ulimit、时区、防火墙)
自动安装 fail2ban + ufw + basic firewall
Certbot 安装+Nginx配置模板准备好
📌 用法:刚买的服务器,跑这一个脚本就能快速上线一套环境。
2️⃣ deploy.sh – 一键部署,包含备份、构建、检测
自动备份数据库 ➜ 停止服务 ➜ 拉取代码 ➜ 构建镜像 ➜ 启动服务 ➜ 健康检查
dev / prod 环境自动切换
自动清理旧日志、旧镜像
失败回滚机制(预留)
📌 用法:部署一键跑,过程可回溯,心态更稳了。
3️⃣ backup.sh / restore.sh – 数据安全底线
支持定时任务 / 手动触发
备份文件按时间戳命名
自动保留最近 N 个备份
恢复操作支持交互和命令行两种方式
📌 用法:上线前、版本迭代前、日常定时 —— 必备!
4️⃣ manage.sh – 集成日常所有小工具
快速查看日志(按服务)
系统资源 & docker stats 一键展示
清理无用容器和 volume
SSL 证书手动/自动续期工具
查看运行状态和端口占用
📌 用法:我现在几乎不手动 ssh 登录机器操作,所有都通过这个脚本执行。
遇到的一些坑 & 补充说明
✅ Git 脚本权限问题
Linux 下拉下来脚本没权限、chmod 又让 Git 检测变化 → 用 core.filemode false 忽略,再配合 post-merge 钩子修正权限。
✅ Nginx + HTTPS 自动化
我直接把 nginx 配置模版和 certbot 脚本绑定,每次申请、续期、reload 一步搞定。
✅ 健康检查
部署脚本里加了 curl 端口检查 + 容器探针检测,挂了就中断部署。
也欢迎交流你的部署流程,有哪些技巧值得推荐![斜眼R]
#产品开发笔记 #Devops #运维工程师 #独立开发 @知识薯 @薯队长 @职场薯
夜雨聆风
