Mac可通过SSH远程触发Time Machine备份并自动关机:先配置SSH免密登录,再执行含tmutil startbackup --auto --block与shutdown -h now的脚本,全程无人值守。

Mac需要在局域网内接收到特定指令(如SSH命令)后,立即触发Time Machine备份并完成关机,整个流程不能依赖人工点击或图形界面交互。
开启SSH远程访问并配置信任关系
1、前往「系统设置」→「网络」,记下当前连接的局域网IP地址(例如192.168.1.50);该地址将用于后续远程调用。
2、进入「系统设置」→「隐私与安全性」→「远程登录」,勾选启用,并确认下方显示“已启用”,且允许访问的用户包含你当前登录账户。
3、打开终端,执行:ssh-keygen -t ed25519生成密钥对;按回车跳过密码设置,生成的公钥路径为~/.ssh/id_ed25519.pub。
4、将公钥内容复制进剪贴板,再运行:cat ~/.ssh/id_ed25519.pub | ssh 用户名@192.168.1.50 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys";这一步建立免密登录,否则每次执行指令都会卡在密码输入环节,无法实现全自动。
编写可被远程调用的一键执行脚本
1、在Mac上新建文件:~/bin/backup-and-shutdown.sh(若bin目录不存在,请先创建)。
2、用文本编辑器打开该文件,写入以下内容:
#!/bin/zsh<br>tmutil startbackup --auto --block<br>while tmutil status | grep -q "Running\|Copying"; do sleep 5; done<br>shutdown -h now
3、保存后,在终端中执行:chmod +x ~/bin/backup-and-shutdown.sh;【必须加执行权限,否则SSH远程调用时会报“Permission denied”】。
4、该脚本强制启动一次完整备份(--auto确保使用已配置的备份盘,--block让命令阻塞直到备份结束),再轮询检查状态直至备份完成,最后关机。不加--block会导致备份尚未开始就直接关机。
从局域网其他设备发送指令触发全流程
方法一:在另一台Mac或Linux电脑上执行
ssh 用户名@192.168.1.50 "~/bin/backup-and-shutdown.sh"
方法二:在Windows电脑上使用PowerShell(需已安装OpenSSH客户端)
ssh 用户名@192.168.1.50 `"~/bin/backup-and-shutdown.sh"`
方法三:用iOS快捷指令或Android Termux等工具,构造相同ssh命令发送;只要能发出标准SSH连接并执行命令,即可触发整套动作。
执行后,Mac将自动开始Time Machine备份,进度可在菜单栏时间机器图标中查看;备份完成后屏幕熄灭,电源关闭。整个过程无需任何人工干预。

















