让电脑在半夜自己干活:用计划任务和批处理,把文件自动备份到移动硬盘

深夜办公室一角:空白日程表、牛皮纸档案、移动硬盘与空白光盘,台灯亮着

备份这件事,几乎每个人都知道重要,可真坚持做的人少之又少。理由大同小异:要么嫌麻烦,每次都要插硬盘、选目录、等进度条;要么就是总忘记,想着明天再备,明天又拖到后天,直到哪天电脑真出了事,才追悔莫及。我以前也在这拨人里,直到一次硬盘坏道,丢了半个多月的工作资料,才狠下心把备份这件事从靠记性变成靠定时。

想明白的那一刻其实很简单:人不可靠,机器可靠。凡是规则固定、又重要的事,就不该交给人的记性,而该交给操作系统去守时。Windows 里那个不起眼的计划任务,配上几行批处理命令,就能让电脑在每天半夜、你睡得正香的时候,自己把文件拷到移动硬盘上。

当时机器普遍不快,外接硬盘也不大,没有后来那些同步工具,也没有什么花哨的运维平台。普通人想碰一碰自动化,往往就是这几行黑底白字的命令。手动拷贝的累是真累:每天下班前得把移动硬盘从抽屉里摸出来,插上,等系统认盘,再盯着进度条一点点爬——当时大多是 USB1.1 的口子,传几兆就得好一阵。人一懒,这活儿就黄了。

每天下班那一刻,心思早就飞到晚饭上了。插硬盘、等认盘、挑目录,这套动作做一次还好,天天做就烦。烦着烦着,就冒出一句明天再说——明天的你也是这么想的,于是备份永远停在嘴边。真出事那天才想起来,可数据已经回不来了。那种眼看进度条慢慢挪、办公室人都走光、只剩自己还守着机器的傍晚,谁都想过一次就再不想来第二次。

批处理就是几行 DOS 命令

批处理就是后缀为 .bat 的文本文件,里面是一行行 DOS 命令,双击就能按顺序执行。备份我用的是 xcopy,大概长这样:把工作目录整个复制到移动硬盘的备份目录。关键不在命令多花哨,在几个参数要踩对。路径里但凡有空格,一定得用英文引号包起来,比如 C:\My Documents,不然命令会断在空格那儿;想连子目录一起拷,要加 /s /e;只想复制比目标新的文件、做增量备份省时间,用 /d;覆盖时不弹确认框,加 /y。

我头一回写,没给 My Documents 加引号,命令在空格处断了,硬盘半天没动静,我盯着那个一闪一闪的光标发了好一会儿呆,还以为盘坏了。

让它在固定时间自动跑

命令写好了,下一步是让它在固定时间自动跑。打开计划任务,新建一个任务,触发器设成每天二十三点,操作选启动程序,指向那段 .bat。这里有个容易被忽略的细节:计划任务用的是系统账户,哪怕你没登录、甚至锁屏,它照样能执行——这正是它比自己记得点一下强的地方。你下班走人,电脑替你守夜。

头一回设好的那一晚,我躺在床上还在想它到底跑没跑,第二天早上一看,硬盘上多了个带着当天日期的文件夹,那觉睡得比平时踏实。

以前最怕出差前夜,得把硬盘插上、手动跑一遍、盯着它走完才敢走。有回赶火车,拷到一半差点误点,从此学乖了,把活儿提前交给那段 .bat,人走就行,不用守着。机器在背后默默干的那些事,本来就不该占用你临出门前的那点慌乱。你走得再急,它也不会漏掉那一趟。

网络盘是个大坑

网络盘是个大坑。批处理里如果要用到映射的网络驱动器,得先在那个任务里用 net use 把盘挂上,否则计划任务运行时根本找不到盘符。还有权限:任务用的账户必须对源目录和目标盘都有读写权,否则它会静默失败——跑了,但什么也没复制成功,你第二天毫不知情。

更隐蔽的是静默失败本身。批处理出错不会弹窗提醒你,任务计划里也常常只看得到已运行,看不出成没成功。所以我后来养成了个习惯:在 .bat 里把每一步的结果用 >> backup.log 追加写进一个日志文件,哪天复制出错、跳过了哪些文件,一翻日志就知道。

定期瞄一眼日志,比事后才发现备份早停了强百倍。有回我隔了小半月才翻日志,发现中间有三天因为源目录被人改了权限,静悄悄什么都没备上,要是没这行记录,我怕是直到出事才知情。

当时移动硬盘多是 FAT32 格式,单个文件不能超过四个 G,碰到超大的视频或数据库文件,复制会莫名其妙失败。这种边界现在少了,但道理还在:自动化之前,得先搞清楚你的数据和环境有没有这类暗礁。移动硬盘这东西也娇气,当时的盘磕一下就怕坏,线一松就掉盘。我专门给它留了个固定的抽屉格子,每次用完原样放回去,不随手扔。规矩越简单越能坚持,你越不把它当负担,它才越靠得住。

玩顺了,能干的事多得很

等我把这套玩顺了,发现批处理加计划任务能干的事多得很。每天定时把工作目录同步到另一块盘、每周自动清理一次临时文件、定时从服务器拉一份数据下来、甚至定时发一封提醒邮件。这些都是重要但无聊、且规则固定的活儿,最适合下沉给机器。当时没有各种同步工具,没有花哨的平台,这几行命令就是普通人离自动化最近的一扇门。

手动拷贝久了还有个麻烦,就是版本乱。当时没有自动留版本这回事,今天备一份叫备份,明天改了再备一份叫备份新,后来干脆叫备份最终版、备份最终版真的最终。过阵子真要找回某个文件,自己都分不清哪个是最新的,翻来翻去反倒更乱。交给那段 .bat 之后,它每次都原样覆盖到同一个地方,名字不变,永远是最新那一份,我脑子里那团版本线索一下就清了。

真让我服气的,是后来那台笔记本彻底罢工的那回。上午还用着,下午就开不了机,IT 说硬盘得返修,数据大概率保不住。我表面镇定,心里其实有底——昨晚二十三点,那段 .bat 已经把工作目录整个拷到了移动硬盘。下午下班前,我从硬盘里把当天改的文件捞回来,该交的活儿一天没耽误。那次之后,我再没手动备份过,也再没因为丢数据半夜惊醒。

不过也别以为设了就一劳永逸。见过有人计划任务跑了半年,真出事才发现移动硬盘早满了,新文件悄悄被丢掉,他本人还以为一切安好。所以我隔阵子会看一眼日志,顺手确认硬盘还有空间。机器替你守夜,但你总得偶尔看一眼那个守夜人还在不在岗

现在每天深夜二十三点,移动硬盘上的那盏小灯会亮上一阵,办公室安静下来,只有它轻微的转动声,然后灭掉。你什么都不用做。文件已经在它该在的地方了。

相关推荐