ETL 清洗、爬虫采集、日报月报生成——这类任务的共同特点是跑起来就要几小时,而且环境配置复杂,换台机器根本跑不动。正确姿势是脚本固定挂在家里或公司那台配好环境的机器上跑,人外出后用手机远程连上去看日志、改参数、取结果。
新手最常问的问题是「我手机断开连接,脚本是不是就停了」。答案是不会。远程桌面只是一扇「看画面的窗户」:断开连接等于关上窗户,远端机器上的程序该怎么跑还怎么跑。真正会中断任务的只有三件事:关机、睡眠、断网(如果脚本依赖网络)。所以这套方案的关键不在远程工具本身,而在被控机器的电源与网络设置——睡眠必须关掉,宽带要稳定,最好再配上来电自启。想清楚这一点,就敢放心把长任务挂上去出门了。
第一是失败告警:脚本里加一行异常捕获,失败时通过 webhook 推送消息到企业微信或邮件,不用反复连上去看。第二是断点续跑:爬虫和 ETL 任务记录处理进度到 checkpoint 文件,意外中断后从断点继续,不从头再来。第三是定时启动:日报类任务用任务计划程序或 crontab 固定凌晨跑,早上醒来连上去看眼结果,连「启动」这一步都省了。这三件事配齐,远程连接就从「守着看」降级为「抽查」。
远程画面卡、日志刷屏看不清?日志刷得快时画面编码跟不上,属正常现象。用 tail -n 50 限制输出行数,或把日志级别调到只输出关键节点,画面立刻清爽。
家里断网了脚本会停吗?本地计算类任务(ETL、报表)照跑不误,只是你看不到;爬虫类依赖网络的任务会失败,靠失败告警发现后等网络恢复再重启。
结果文件几十个 GB 怎么取回?文件传输支持大文件和断点续传;更省事的做法是让脚本收尾时自动压缩并上传网盘或对象存储,你远程只需要确认任务状态。
多台机器的任务能统一管理吗?每台机器加入设备列表并规范命名(如「数据-家里」「数据-公司」),手机上逐台连入巡检;任务层面建议再配一个共享的告警渠道汇总状态。