【问题标题】:BASH script cron scheduled for midnight - running every minute until 12:20am计划在午夜运行的 BASH 脚本 cron - 每分钟运行一次,直到凌晨 12:20
【发布时间】:2019-08-31 07:20:26
【问题描述】:

我有一个 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 尝试重新启动它,我几乎可以期待看到这个……但它是几个 mkdir、一个 mysqldump 调用和一个 tar 调用。 CPU 在过去 24 小时内没有超过 10%。不是说资源用完了。

有什么想法吗?

【问题讨论】:

  • 你检查 /var/log/cron 了吗?还要检查 /var/log/messages 以获取有关可能发生的事情的线索。

标签: bash ubuntu cron


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-11
    • 2016-04-02
    • 2015-12-29
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    相关资源
    最近更新 更多