计划在午夜执行的 BASH 脚本 cron - 每分钟运行一次,直到 12 :20am

标签 bash ubuntu cron

我有一个 Digital Ocean Ubuntu (18.04) LAMP 服务器。

我有一个简单的 bash 脚本来创建备份目录并转储站点 SQL 文件和所有文件的 tar.gz。

Crontab 入口

# Backup files and database at midnight every night
0 0 * * * . /var/www/mysite.com/daily-backup.sh

只有一个cron守护进程在此服务器上运行。

es@rental-link-production:/var/backups/rentallink$ ps aux | grep cron
es         606  0.0  0.0  14856  1100 pts/0    S+   10:32   0:00 grep --color=auto cron
root       959  0.0  0.0  31852  3160 ?        Ss   Mar25   0:02 /usr/sbin/cron -f

但在一夜之间,它几乎每分钟都在运行,直到凌晨 12:20。此服务器上没有其他 cron 脚本。

es@mysite-production:/var/backups/mysite$ ls -lah
total 52K
drwxr-xr-x 13 es   es   4.0K Apr  9 12:20 .
drwxr-xr-x  3 root root 4.0K Apr 10 06:25 ..
drwxrwxr-x  4 es   es   4.0K Apr  9 12:02 2019-04-09-1202
drwxrwxr-x  4 es   es   4.0K Apr  9 12:03 2019-04-09-1203
drwxrwxr-x  4 es   es   4.0K Apr  9 12:07 2019-04-09-1207
drwxrwxr-x  4 es   es   4.0K Apr  9 12:08 2019-04-09-1208
drwxrwxr-x  4 es   es   4.0K Apr  9 12:11 2019-04-09-1211
drwxrwxr-x  4 es   es   4.0K Apr  9 12:13 2019-04-09-1213
drwxrwxr-x  4 es   es   4.0K Apr  9 12:14 2019-04-09-1214
drwxrwxr-x  4 es   es   4.0K Apr  9 12:15 2019-04-09-1215
drwxrwxr-x  4 es   es   4.0K Apr  9 12:16 2019-04-09-1216
drwxrwxr-x  4 es   es   4.0K Apr  9 12:18 2019-04-09-1218
drwxrwxr-x  4 es   es   4.0K Apr  9 12:20 2019-04-09-1220

奇怪的是,在具有相同设置的登台服务器上,它在午夜运行了两次,而不是只运行了一次——这仍然比我预期的多了一次。

es@mysite-staging:/var/backups/mysite$ ls -lah
total 16K
drwxr-xr-x 4 es   es   4.0K Apr  9 12:20 .
drwxr-xr-x 3 root root 4.0K Apr 10 06:25 ..
drwxrwxr-x 4 es   es   4.0K Apr  9 12:01 2019-04-09-1201
drwxrwxr-x 4 es   es   4.0K Apr  9 12:20 2019-04-09-1220

如果作业失败并且 Linux 试图重新启动它,我几乎可以期望看到这个...但这是几个 mkdirs、一个 mysqldump 调用和一个 tar 调用。 CPU 在过去 24 小时内未超过 10%。它并没有耗尽资源。

有什么想法吗?

最佳答案

检查这些情况: 1-其他用户调用它吗? 2-它会调用自己吗? 3-它是否为重复设置了运动条件?

为了测试,在名称末尾添加 whoami

对于另一个测试,使用 ps -A 来检查 crond 是否运行了多次。

关于计划在午夜执行的 BASH 脚本 cron - 每分钟运行一次,直到 12 :20am,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55602278/

相关文章:

php - 用于运行 php 脚本的 Godaddy cron 作业设置

node.js - 谷歌云平台 : Running several hours scraping script

python - crontab 和脚本

bash - 如何使用 bash 或 awk 对多个文件中的矩阵求和

bash - 有没有更好的方法在 bash 中运行 N 次命令?

linux - 打开多个终端选项卡,执行命令并继续处理它们

用于多个输出文件的 Bash 脚本

matlab - ld : cannot find -lguide while compiling files using mex with intel c++ compiler

ubuntu - 如何防止 HAProxy 的多个实例?

c# - 尝试从 gitpod IDE(ubuntu 服务器)连接到 MySql 数据库时出现套接字异常