shell 脚本通过 crontab 创建空 zip,手动工作

问题描述 投票:0回答:1

我正在尝试安排以下脚本通过 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/

有什么想法吗?

bash cron
1个回答
0
投票

我通过给予 cron 完全磁盘访问权限解决了这个问题。有关步骤,请参阅本文:https://osxdaily.com/2020/04/27/fix-cron-permissions-macos-full-disk-access/

© www.soinside.com 2019 - 2024. All rights reserved.