mac自动制作所有备份卷的新快照
方法1 使用 LaunchAgent
-
创建一个 LaunchAgent 文件到~/Library/LaunchAgents/中,文件名为com.quzard.DailyTimeMachineBackup.plist
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.quzard.DailyTimeMachineBackup</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/tmutil</string>
<string>localsnapshot</string>
</array>
<key>StandardErrorPath</key>
<string>/tmp/DailyTimeMachineBackupErr.log</string>
<key>StandardOutPath</key>
<string>/tmp/DailyTimeMachineBackupOut.log</string>
<key>StartCalendarInterval</key>
<dict>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>各条目解释:
1
2
3
4
5
6
7Label:对应的需要保证全局唯一性;
Program:要运行的程序;
ProgramArguments:命令语句;
StartCalendarInterval:运行的时间,单个时间点使用dict,多个时间点使用 array <dict>;
StartInterval:时间间隔,与StartCalendarInterval使用其一,单位为秒;
StandardInPath、StandardOutPath、StandardErrorPath:标准的输入输出错误文件,这里建议不要使用 .log 作为后缀,会打不开里面的信息;
定时启动任务时,如果涉及到网络,但是电脑处于睡眠状态,是执行不了的,这个时候,可以定时的启动屏幕就好了。 -
通过 launchctl manageruid 命令 获取 uid
-
开启守护进程
1
launchctl load ~/Library/LaunchAgents/com.quzard.DailyTimeMachineBackup.plist
-
查看守护进程是否启动成功
1
2
3
4
5当返回的结果第一个位置有数字而不是“-”时,说明程序正常运行
launchctl list | grep jupyterhub
or 当列出程序进程信息时,说明程序正常运行
pstree | grep jupyterhub | grep -v grep
方法2 使用 crontab
-
使用终端,crontab -e
-
添加以下代码
1
0 * * * * /usr/bin/tmutil localsnapshot
tmutil
这个 crontab 条目说在每小时 0 分钟运行命令。 -
授予
cron
运行所需的权限-
从 Apple 菜单中打开“系统偏好设置”,然后选择“安全性与隐私”图标。
-
然后选择“隐私”选项卡并滚动左侧列表并选择“完全磁盘访问权限”。
-
选择左下角的锁定图标并输入管理员的凭据。
-
选择应用程序列表下方的 + 图标
-
键入Cmd+shift+g 显示路径入口文件选择界面并键入:/usr/sbin/cron并选择
cron
二进制文件
-
参考链接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 知其然,知其所以然!