基础
首先,我愿意 高度 建议使用Time Machine备份整个Mac。 (它将包括所有不在服务器上的电子邮件。)在第一次备份后,它只保存更改的内容,因此如果您不更改邮件之外的任何内容,则不必花时间重新支持一切都好。
那说,你 能够 备份电子邮件。我不知道如何用Time Machine做这个(虽然它可能是可能的),但使用一个名为的工具相对容易 rsync
。您的电子邮件存储在此处(假设您使用的是内置的Mail.app):
~/Library/Mail
要备份它们,您只需将此文件夹复制(不要移动!)到外部驱动器即可。与Finder副本不同(据我所知), rsync
足够聪明,只能在下次备份时复制更改。要进行一次备份,请在终端中运行此命令:
rsync -rlptgDEHP ~/Library/Mail /Volumes/"Some External Drive"/"Mail Backups"
这会将文件夹复制到外部驱动器上名为“Mail Backups”的文件夹中。 (如果文件夹/驱动器名称中有空格,则需要引号。)
用它自动化 launchd
有一个叫做的程序 launchd
除了基本上运行整个系统(它是Mac的等价物) 在里面 ),可以在指定的时间运行其他程序。要告诉它什么时候运行,你使用一个 plist中 文件(“属性列表”的缩写)。
那你怎么做的?你需要将它放在某个地方的纯文本文件中,比如 ~/bin/backup-emails
:
#!/bin/zsh
# lines starting with '#' are a comment and have no effect
# (except for the #! line above); you can leave them out
# this is the rsync command from the section above
rsync -rlptgDEHP ~/Library/Mail /Volumes/"Some External Drive"/"Mail Backups"
然后打开一个终端,输入 chmod +x
和一个空格,并拖动您刚刚创建的文件。按Enter键。这将使文件“可执行” - 系统将能够将其作为程序运行。
您可以运行刚刚创建的文件而不是键入 rsync
要手动备份时的命令。
接下来,启动TextEdit(或您选择的另一个纯文本编辑器)并粘贴以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.yourname.backup-emails</string>
<key>Program</key>
<string>/bin/zsh</string>
<key>ProgramArguments</key>
<array>
<string>-f</string>
<string>-c</string>
<!-- wherever you put the script you made before -->
<string>~/bin/backup-emails</string>
</array>
<key>StartCalendarInterval</key>
<array>
<dict>
<!-- run every week at 7am -->
<key>Hour</key>
<integer>7</integer>
<key>Weekday</key>
<integer>0</integer>
</dict>
</array>
<!-- replace your username appropriately -->
<key>StandardOutPath</key>
<string>/Users/username/tmp/backup-emails-stdout.log</string>
<key>StandardErrorPath</key>
<string>/Users/username/tmp/backup-emails-stderr.log</string>
<key>Debug</key>
<true />
</dict>
</plist>
之间的一切 <!--
和 -->
是评论,可以省略。 (当然,这包括评论标记本身。)替换 yourname
用你的名字(如果你愿意),和 username
使用您的用户名(您的主文件夹的名称;这是必需的)。
(你可以跑 man launchd.plist
在终端中了解有关使用这些plist文件可以执行的操作的更多信息。)
将此文件另存为 ~/Library/LaunchAgents/com.yourname.backup-emails.plist
(取代 com.yourname.backup-emails
用你在上面的Label键中使用的任何内容)。
此步骤并非严格要求,但它将加载它而无需注销并重新登录:
launchctl load ~/Library/LaunchAgents/com.yourname.backup-emails.plist
卸载启动代理
简直就是垃圾了 ~/Library/LaunchAgents/com.yourname.backup-emails
你之前提交过的文件。 (要获得它,请在Finder中按⇧⌘G并键入/粘贴 ~/Library/LaunchAgents
。)