我如何查看我的 cron 是否正在运行并完成工作?

我如何查看我的 cron 是否正在运行并完成工作?

如何查看我的备份是否在指定的分钟后保存?如果没问题我该如何测试?

计划任务

答案1

您在这里有几个选择:

  1. 检查文件的修改日期以查看是否正在更新:

ls -l /var/backups/your-file.sql

  1. 如果您还没有完全迁移到 systemd,则 cron 应该记录到/var/log/syslog,在这种情况下您可以执行以下操作并检查时间戳:

cat /var/log/syslog | grep -i cron

  1. 如果您使用的是 systemd,则需要使用以下命令:

sudo systemctl status cron

并为您的用户寻找类似的内容:

Jun 28 17:44:01 openSUSE cron[1865]: pam_unix(crond:session): session opened for user billy by (uid=0)

或者,您可以将该命令放入为您记录结果的脚本中:

#!/bin/bash

# 在脚本中调用可执行文件时,最好包含可执行文件的完整路径,尤其是从 cron 调用时
日期=/usr/bin/日期
MYSQLDUMP=/usr/bin/mysqldump

# 在这里运行你的备份命令
$MYSQLDUMP -u 用户 -p 密码数据库 > /var/backups/backup.sql

# 然后检查确保执行成功
如果 [[ $? -eq 0]];然后
    echo "$DATE - 备份已保存"
别的
    echo "$DATE - 备份失败"

将其保存为名为 say 的文件db-backup.sh,赋予其执行权限,然后将其设置为 cron 作业。只需记住使用脚本的完整路径,因为 cron 可能具有与您不同的路径。

答案2

你可以检查你的日志,你可以看到 cron 作业是否执行:

Jun 24 12:42:01 serversuit CROND[24483]: (root) CMD (echo "hello" > /tmp/testfile)

您也可以将所有输出发送到某个文件:

/scripts/testscript.sh &> /logs/testscript.log

看一看这里有关 cron 作业故障排除的更多示例。

相关内容