📜  每晚运行 cron - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:11:00.395000             🧑  作者: Mango

每晚运行 cron - Shell-Bash

Cron 是一个在 Linux、BSD 和类 Unix 操作系统上运行的定时任务程序。它可以在指定的时间点运行用户指定的命令或脚本。Cron 通常用于自动化重复的任务或计划性运行的任务。在本篇介绍中,我们将重点介绍通过 shell/bash 脚本每晚运行 cron 的方法。

准备工作

在开始使用之前,确保你已经安装了 Cron 和 Bash,也就是说你需要拥有一个运行 Linux 或类 Unix 操作系统的服务器或电脑。Cron 的安装实际上也可以通过包管理器等方式完成。

编写 Shell/Bash 脚本

首先,我们需要编写一个 Shell/Bash 脚本,该脚本将在每晚运行。假设我们要在每晚 11 点运行一个名为 myscript.sh 的脚本。

#!/bin/bash

echo "Hello World!"

在这个简单的示例中,脚本的功能是输出一行 "Hello World!" 的文本。

使用 Cron 运行 Shell/Bash 脚本

有一些不同的方法可以将 Cron 用于自动运行脚本,这里我们介绍两种常见的方法。

第一种方法:编辑 Cron 表

编辑 Cron 表文件,以便指定定时执行任务的时间和你要运行的命令。每个用户的 Cron 表都保存在 /var/spool/cron/crontabs 目录下,因此我们使用 crontab 命令来编辑 Cron 表。

打开终端,输入以下命令:

crontab -e

编辑器将打开你的 crontab 文件。在该文件的末尾,添加以下行:

0 23 * * * /path/to/myscript.sh

这条命令的含义是在每晚 11 点(小时为 23,分钟为 0)运行 myscript.sh 脚本。请注意,这里的 /path/to/ 指的是脚本文件的绝对路径。

第二种方法:直接编辑 Cron 任务配置文件

另一种方法是直接编辑 Cron 任务配置文件 /etc/crontab。打开终端,输入以下命令:

sudo nano /etc/crontab

这将打开 /etc/crontab 文件,然后你可以将以下行添加到文件的末尾:

0 23 * * * your-username /path/to/myscript.sh

这条命令的含义是在每晚 11 点(小时为 23,分钟为 0)用你所输入的用户名运行 myscript.sh 脚本。请注意,这里的 /path/to/ 同样指的是脚本文件的绝对路径。

测试

重启 Cron 服务并运行脚本:

sudo service cron restart

接下来,等待到达指定的时间,你会看到你的脚本成功输出 "Hello World!"。

上述就是通过 shell/bash 脚本每晚运行 Cron 的方法。您可以通过以上介绍了解 Cron 更多的高级特性。