前几篇教程已经带大家走完了从连接到进阶的全流程。今天这篇是“效率篇”的收官之作,核心只讲一件事:如何用 FinalShell 把重复性工作变成“一键执行”。
运维圈有句老话:“懒是程序员的美德。”这里的“懒”不是偷工减料,而是不愿在重复劳动上浪费精力。FinalShell 内置了多种自动化工具,用好了,你的日常运维工作量起码减半。
场景一:告别反复敲命令——快捷命令的进阶玩法
快捷命令是 FinalShell 最容易被低估的功能。很多人只是把它当成“命令收藏夹”,其实它的玩法远不止于此。
基础用法:保存长命令
打开“命令”面板 → “添加命令”,把那些又长又容易记混的命令存起来,比如:
-
查看 Nginx 错误日志:
tail -f /var/log/nginx/error.log -
清理 Docker 缓存:
docker system prune -a -f -
查看 TCP 连接状态汇总:
netstat -ant | awk '{print $6}' | sort | uniq -c
下次需要时双击一下就能自动填入终端。对于记性不太好的同学,这功能堪称福音。
进阶玩法:命令参数化
更高级的是,FinalShell 支持带变量的快捷命令。比如你经常需要查看不同服务的日志,可以建一个这样的快捷命令:
命令模板:tail -f /var/log/${service}.log
执行时弹出一个输入框让你填 service 的值,填 nginx 就查 Nginx 日志,填 mysql 就查 MySQL 日志。一条命令覆盖所有场景,不用重复保存多份。
高级玩法:组合命令一键部署
如果你每次部署项目都要执行一串操作——拉代码、装依赖、重启服务,可以把这几步串成一个脚本保存为快捷命令:
cd /var/www/project git pull origin master npm install pm2 restart all
以后每次部署,双击这个命令,一键完成整条流水线。把“流程”变成“按钮”,这才是自动化的精髓。
场景二:百台服务器统一操作——批量命令的正确姿势
当管理的服务器数量超过三台,“一台台敲命令”就成了效率黑洞。FinalShell 的批量执行命令功能专门解决这个问题。
操作流程
-
在左侧连接管理器里,按住
Ctrl(Mac 是Command)选中多台服务器。 -
右键 → “批量输入命令”或“发送命令到所有会话”。
-
在弹出的框里输入要执行的命令,点确定。
-
所有服务器同时执行,结果逐台返回。
实战场景:批量磁盘检查
比如每天早上巡检所有服务器的磁盘空间:
df -h | grep -v tmpfs
只需敲一次,几十台机器的磁盘使用情况全部返回,哪些快满了一目了然。
脚本批量的正确做法
如果命令比较复杂,建议写成脚本统一执行:
-
准备脚本:把要执行的操作写成一个
.sh文件,先在一台测试机上跑通。 -
分发脚本:通过 FinalShell 的文件管理功能,把脚本上传到所有目标服务器的相同路径(比如
/opt/scripts/)。 -
批量执行:选中所有服务器,批量执行
chmod +x /opt/scripts/check.sh && /opt/scripts/check.sh。
关键提醒:脚本里尽量避免硬编码某台服务器的专属信息(比如固定的 IP 地址),确保在任何目标机器上都能通用。
批量文件传输
如果需要把同一个文件发给多台服务器,FinalShell 也支持。在文件管理区选中文件,右键“发送到多台服务器”,选目标机器就行。支持断点续传,大文件传输中断了也能接着传。
场景三:用别名给常用操作“起外号”
如果你习惯在终端里敲命令,FinalShell 还支持命令别名(Alias)。在连接设置里可以自定义,比如:
| 别名 | 实际命令 | 场景 |
|---|---|---|
ll |
ls -alhF --color=auto |
更友好的目录列表 |
logs |
tail -f /var/log/syslog |
快速查看系统日志 |
nginx |
systemctl status nginx |
快速查看服务状态 |
设置一次,所有会话生效。习惯之后,敲三个字母能干的事,绝不打一行完整的命令。
场景四:定时任务自动化——把“日常”交给脚本
有些任务是定期要做的,比如:
-
每周一备份数据库
-
每天凌晨清理临时文件
-
每小时检查一次服务是否存活
这些完全可以在服务器端用 crontab 设置定时任务,但 FinalShell 的脚本执行功能可以帮你一次性写好脚本并推送到所有服务器,然后统一配置 crontab。
操作示例
-
写备份脚本
backup.sh:
#!/bin/bash DATE=$(date +%Y%m%d) mysqldump -u root -p'your_password' your_db > /backup/db_$DATE.sql gzip /backup/db_$DATE.sql # 只保留最近7天的备份 find /backup -name "*.sql.gz" -mtime +7 -delete
-
上传到所有服务器的
/opt/backup/目录(用批量文件传输)。 -
批量执行安装定时任务的命令:
echo "0 2 * * * /opt/backup/backup.sh" >> /var/spool/cron/root
之后每天凌晨 2 点,所有服务器自动备份数据库,再也不用半夜爬起来操作了。
写在最后
自动化是运维效率的分水岭。能用工具自动完成的事,就别用手动操作去磨时间。
FinalShell 提供的快捷命令、批量执行、别名、脚本分发这四大自动化武器,用好了能让你的日常运维从“搬砖”变成“指挥”。今天花一小时配置好这些自动化工具,往后每天都能省下一小时的重复劳动——这笔账,怎么算都划算。

评论(0)