如何在 mac 中设置 cron 作业到 运行 一个简单的 backup.sh 脚本

How to setup a cron job in mac to run a simple backup.sh script

看来我太笨了,无法在我的 mac Catalina 10.15.7 上设置 cron 作业,或者我做错了一些事情。

我写了一个简单的备份脚本,它创建一个带有时间戳的文件夹,然后将另一个文件夹复制到新文件夹中,然后使用 scp 将其发送到远程服务器。全部保存在backupScript.sh

#!/bin/bash

#######
# Create date variable. I want the date format to look like this.
#######
d=$(date '+%Y-%m-%d-%H:%M:%S')

#######
# Make directory in  this backup folder to send to the server.
#######
mkdir /Users/my-name/Documents/Backup/_$d

#######
# Copy files into newly created directory.
#######
cp -R /Users/my-name/Documents/path/to/important/file /Users/my-name/Documents/Backup/_$d

#######
# Copy folder with scp and move it to new location on my server.
#######
scp -r -i /Users/my-name/.ssh/id_rsa /Users/my-name/Documents/Backup/_$d user@255.255.255.255:path/to/backup/dir/on/server

当我手动执行脚本时,它可以完美运行,并按正确的顺序执行所有应该执行的操作。但是,我没有时间总是手动 运行 凭据(或者我只是在匆忙时忘记了它)。

所以我想为此创建一个 cron 作业。 crontab -l 命令告诉我 crontab 已经创建,但它不会执行脚本。所以也许我做错了或者给它执行了错误的命令。

这是我到目前为止所做的,以便将脚本添加到 运行:

  1. 使用crontab -e
  2. 在编辑器中我写了以下内容*/5 * * * * cd /Users/my-name/Documents/Backup && ./backupScript.sh
  3. 使用 :wq
  4. 保存编辑器
  5. 检查选项卡是否已使用 crontab -l
  6. 创建

我做错了什么吗?或者我不能只在 mac 上设置 cron 作业吗? 我们非常欢迎您提供任何帮助。我真的为此而疯狂。

感谢您的帮助:)

我的代码本身有问题。我将 crontab 更改为以下行:

*/5 * * * * /bin/bash /Users/my-name/Documents/Backup/backupScript.sh

并授予 cron 应用程序写入磁盘的权限。之后它就像一个魅力。