FreeFileSync搭配crontab
顺序说明:
1.FreeFileSync设定备份镜像的设定
2.储存为批次档
3.Terminal 执行 crontab -e
4.
按"i"切换为输入模式,输入下方*
30 17 * * 1-5 /Applications/FreeFileSync.app/Contents/MacOS/FreeFileSync /Users/userNAME/Documents/tempNas/BatchRun.ffs_batch
按"ESC"切换为指令模式
:wq存挡
*注释:
cron 设定解释
30 17 表示每天的 17:30 (即下午五点半)。
后面的命令是启动 FreeFileSync 并指定批处理档案的完整路径。
问题与解法
一开始测试FreeFileSync在Mac上搭配crontab排程执行
有得到错误:
『无法开启档案 ".../BatchRun.ffs_batch"。
EPERM: Operation not permitted [open]』
因为crontab要执行应用程式档案时,有些执行权限的问题
尝试用chmod修改执行批次档的权限
但结果仍然相同,看来问题不在这里
后来爬文找到解法
https://apple.stackexchange.com/questions/378553/crontab-operation-not-permitted
设定-保安与隐私-完整磁碟取用-
这里按“+”符号,并
1.执行组合键cmd+shift+G
2.输入/usr/sbin
3.在右侧选择cron档案
这样crontab执行时,就不会有权限的问题的
rsync搭配crontab
爬文时刚好看到这篇分享 rsync
https://www.minwt.com/mac/21562.html
于是就测试用rsync指令配crontab排程
两者都是Mac内建,不用另外安装软体,挺方便的
也没有权限的问题
语法纪录
30 17 * * 1-5 /usr/bin/rsync -avz --delete --exclude 'node_modules/' --exclude 'builds/' /Users/userNAME/WEB/work/NBproject/ /Users/userNAME/Library/CloudStorage/OneDrive-个人/personalNas/NBproject/ >> /Users/userNAME/Library/CloudStorage/OneDrive-个人/personalNas/rsync_log.txt 2>&1
*注释:
30 17:表示每天的 17:30 (即下午五点半)。1-5:这些星号表示每个月的每天,1-5 表示星期一到星期五。最后的命令是 rsync 命令,包括所有参数。--delete 在比对目的与来源资料时,若目的有来源所没有的档案,会自动帮忙删除--exclude 排除不需要备份的资料夹/Users/haixuanwang/rsync_log.txt 2>&1 将标準输出和错误重新导向到记录档,以便你可以查看历史运行记录和可能出现的错误。
说明
-a (archive) 模式:同步目录时保留符号连结、装置档案、属性等。-v (verbose):提供详细的运行资讯。-z (compress):在传输时压缩资料,适用于跨网路同步。--delete:删除目标目录中存在而源目录中不存在的档案,使目标目录保持