You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看通过cron每日运行两次的Perl程序上次运行时间?

查看cron运行的Perl脚本上次运行时间的方法

嘿,刚好我之前也处理过类似的需求——其实并没有一个直接的命令能直接查询某个Perl脚本上次的运行时间,但我们可以用几种简单的方法来实现这个需求:

方法1:让脚本自身记录运行时间

这是最可靠的方式,因为它能准确记录脚本**实际启动(或完成)**的时间,不受cron日志的限制。你可以在Perl脚本里添加几行代码,每次运行时把时间写入一个日志文件:

比如要记录每次启动的时间(保留历史记录),追加到日志文件:

# 在脚本开头添加这段代码
open my $log_fh, '>>', '/var/log/my_perl_script_run.log' 
    or die "无法打开日志文件: $!";
print $log_fh "脚本启动时间: " . scalar(localtime) . "\n";
close $log_fh;

如果只想保留最后一次运行的时间(不需要历史记录),可以改为覆盖写入:

open my $log_fh, '>', '/var/run/my_perl_script_last_run.txt' 
    or die "无法写入时间文件: $!";
print $log_fh scalar(localtime);
close $log_fh;

之后只需要用cat /var/run/my_perl_script_last_run.txt就能快速看到上次运行时间了。

方法2:查看cron的系统日志

如果你的系统开启了cron日志功能,可以直接从日志里查找脚本的触发时间:

  • Debian/Ubuntu系统:查看/var/log/syslog,用命令过滤:
    grep 'my_perl_script.pl' /var/log/syslog
    
  • CentOS/RHEL系统:查看/var/log/cron,过滤命令:
    grep 'my_perl_script.pl' /var/log/cron
    

⚠️ 注意:这里显示的是cron触发脚本执行的时间,如果脚本运行时间较长,和实际完成时间会有差异。

方法3:利用文件的修改时间(简易版)

如果你的脚本会生成某个固定的输出文件或临时文件,可以通过查看该文件的修改时间来间接判断脚本的运行时间,比如:

stat -c %y /path/to/script_output.txt

这种方法适合脚本每次运行都会更新某个文件的场景,准确性依赖于文件更新的逻辑。

内容的提问来源于stack exchange,提问作者Jacob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:49:00