📜  linux 通过脚本编辑 crontab - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:43:59.677000             🧑  作者: Mango

Linux 通过脚本编辑 crontab

在 Linux 系统中,crontab 是一个用于定期执行任务的工具。实现定时任务的主要设定方式是通过编辑 crontab 文件,但是在脚本中通过命令行的方式编辑 crontab 文件会更加方便和灵活。

编写 Shell 脚本

首先,我们需要编写一个 Shell 脚本来实现编辑 crontab 的功能。这里假设我们要每分钟输出一句话,我们可以编写以下脚本:

#!/bin/bash
(crontab -l 2>/dev/null; echo "* * * * * echo 'Hello, world!'") | crontab -

这个脚本的第一行指定了脚本编写语言为 bash,第二行是实现编辑 crontab 的逻辑。具体来说,这个命令首先读取当前用户的 crontab 文件(crontab -l),将其输出到标准输出并忽略错误输出(2>/dev/null)。然后将新的定时任务 * * * * * echo 'Hello, world!' 加到标准输出的末尾。最后,将修改后的标准输出重新写回 crontab 文件(| crontab -)。

运行 Shell 脚本

接下来,我们需要在终端中以超级用户的身份运行这个脚本。具体来说,我们可以使用以下命令:

sudo bash <脚本文件名>.sh

以上命令将以超级用户的身份运行脚本。如果脚本文件没有可执行权限,我们还需要给它添加可执行权限:

sudo chmod +x <脚本文件名>.sh
结论

通过编写 Shell 脚本,我们可以方便地编辑 crontab 文件,实现定时任务的自动化。同时,我们还可以将这个脚本加入到系统的启动脚本中,让它在启动时自动执行,达到全自动化的效果。