Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 找出谁/什么在调用脚本(cron)_Linux_Perl_Shell_Unix_Cron - Fatal编程技术网

Linux 找出谁/什么在调用脚本(cron)

Linux 找出谁/什么在调用脚本(cron),linux,perl,shell,unix,cron,Linux,Perl,Shell,Unix,Cron,我最近遇到了一个问题,有人的cron作业调用了一个脚本,该脚本在运行时向我发送警报。我想知道它是谁的作业,在哪个服务器上运行 这个问题已由其他人解决,但我想知道我可以做些什么来找出作业是从哪个主机/用户名运行的。我能想到的一件事是编辑脚本(Perl)并使用Sys::Hostname。还有别的吗 谢谢 除非您使用邮件发送警报,否则无法自动执行此操作。邮件的标题中包含主机名,因此您至少可以看到它来自何处(用户和主机)。然后,时间戳应该有助于定位cron作业 对于所有其他形式的警报(SMS、寻呼机等)

我最近遇到了一个问题,有人的cron作业调用了一个脚本,该脚本在运行时向我发送警报。我想知道它是谁的作业,在哪个服务器上运行

这个问题已由其他人解决,但我想知道我可以做些什么来找出作业是从哪个主机/用户名运行的。我能想到的一件事是编辑脚本(Perl)并使用Sys::Hostname。还有别的吗


谢谢

除非您使用邮件发送警报,否则无法自动执行此操作。邮件的标题中包含主机名,因此您至少可以看到它来自何处(用户和主机)。然后,时间戳应该有助于定位cron作业


对于所有其他形式的警报(SMS、寻呼机等),您应该将用户和主机名包含在消息中作为一项策略。

除非您使用邮件发送警报,否则无法自动执行此操作。邮件的标题中包含主机名,因此您至少可以看到它来自何处(用户和主机)。然后,时间戳应该有助于定位cron作业


对于所有其他形式的警报(SMS、寻呼机等),您应该将用户和主机名包含在消息中作为一项策略。

正如您所说,您可以使用获取主机名。您还可以使用
getpwuid($获取用户名,正如您所说,您可以使用
getpwuid($获取用户名,您还可以添加到脚本中:
print`env | sort`;
——这将显示用户名或日志名。如果您不想干扰程序的输出,请将其记录到一个文件中:

use POSIX 'strftime';
open my $log, '>>', 'logfile' or die "can't append to logfile: $!\n";
print $log strftime(%Y-%m-%d %T", localtime), " - starting $0\n";
print $log `env|sort`;
close $log;

您还可以在脚本中添加:
print`env|sort`
——这将显示用户名或日志名。如果您不想干扰程序的输出,请将其记录到一个文件中:

use POSIX 'strftime';
open my $log, '>>', 'logfile' or die "can't append to logfile: $!\n";
print $log strftime(%Y-%m-%d %T", localtime), " - starting $0\n";
print $log `env|sort`;
close $log;

你有电子邮件,检查电子邮件header@ajreal,他没有说警报是通过电子邮件发送的。我的错,我最初的意思是,如果警报是通过电子邮件发送的,你有电子邮件,请检查电子邮件header@ajreal,他没有说警报是通过电子邮件发送的。我的错,我最初的意思是如果警报是通过电子邮件发送的