我正在尝试安排以下脚本通过 crontab 每天运行以备份我的笔记文件夹:
#!/bin/bash
date=$(date '+%Y-%m-%d')
backupDir="/Users/MYNAME/backups"
if [ -e "$backupDir/$date.zip" ]
then
rm -rf "$backupDir/$date.zip"
fi
zip -r "$backupDir/$date.zip" "/Users/MYNAME/Documents/notes/"
当我通过
手动运行脚本时./script.sh
它可以正常工作并在正确的位置创建一个如预期大小的几个 MB 的 ZIP 文件。然而,当我通过 cron 安排它时:
00 14 * * * /Users/MYNAME/bin/script.sh
它会在正确的位置创建一个 208 字节大的 zip,其中包含我的笔记文件夹中的嵌套空文件夹,例如一个空的
/Users/MYNAME/Documents/notes/
。
有什么想法吗?
我通过给予 cron 完全磁盘访问权限解决了这个问题。有关步骤,请参阅本文:https://osxdaily.com/2020/04/27/fix-cron-permissions-macos-full-disk-access/