每天在特定时间执行一个shell脚本

39

我有一个简单的shell脚本,仅检查目录的内容,如果在当天添加了任何内容,则将其复制到备份文件夹中。 我想在每天结束时(假设在23:55)执行此脚本。

该脚本所在的系统(Debian)始终处于开启状态(类似于服务器)

我应该如何做?


3
你正在寻找 cron。你可以在该网站上找到有关如何使用 cron 的教程和信息。Cron 是一个用于定期运行命令或脚本的工具,非常适合自动化重复性任务。本教程将提供有关如何设置 cron 作业以及如何理解 cron 时间表的详细信息。 - Parttimereaper
先阅读 crontab 的 man 手册。 - Kent
2
很可能已经有一个问题问了基本相同的问题。 - Jonathan Leffler
注意:如果您有一个长时间运行的脚本,可能每天会有很多实例在运行。 - FlyingV
5个回答

58
在UNIX/Linux shell提示符下,要添加crontab作业,请键入以下命令:
$ sudo crontab -e

添加以下行:

1 2 3 4 5 /path/to/script

在哪里

1: Minutes (0-59)
2: Hours (0-23)
3: Days (1-31)
4: Month (1-12)
5: Day of the week(1-7)
/path/to/script - your own shell script

在您的情况下,应该是这样的:

55 23 * * * /path/to/yourShellScript

34

您想使用 crontab 文件进行编辑

crontab -e

那么您想要添加

55 23 * * * COMMAND TO BE EXECUTED

了解更多信息,请查看此链接


1
您的链接出现文件未找到错误。您可能需要进行更新。 - Snow

4

我不是一个Linux专家,但是快速搜索得到了以下结果:

watch -n <your time> <your command/script>

这应该可以解决问题。想了解更多信息,请查看:http://www.linfo.org/watch.html

1
谢谢!我会选择cron。 - Sina Sh

4

sudo crontab -e

55 23 * * * some_shell_script.sh

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接