linux - 如何在 Fedora 系统中每小时运行一个 Perl 脚本。我有一个 perl 脚本,它将检查 IP 中的端口是否打开

标签 linux perl cron

我有一个 perl 脚本,它将检查 IP 中的端口是否打开。我希望这个脚本在 Linux 系统中每小时运行一次。请告知。代码如下

#!/usr/bin/perl
use DBI;
use strict;
use warnings;

my $dsn = 'dbi:mysql:dbname:localhost:3306';
                my $dbh = DBI->connect('dbi:mysql:dbname:localhost:3306',"root7","pass");
                if(!$dbh)
                {                    
                    print "Not Connnected";
                }
                else
                {
                    print "Connnected";

                my @temp;
                my $tmp=time();
                my @timeData = localtime(time);
                $temp[0] = $timeData[2].":".$timeData[1].":".$timeData[0];
                $temp[1] = $timeData[3]."-".($timeData[4]+1)."-".($timeData[5]+1900);

                my $filename = 'log_c.txt';
                open(my $fh, '>', $filename) or die "Could not open file '$filename' $!";
                print $fh "date:$temp[1]: Time:$temp[0]\n";
                close $fh;
                #print "done\n"

                undef @timeData;
                undef $tmp;
                undef @temp;

                }

最佳答案

这就是 cron是为了。

使用命令 crontab -e 创建一个 cronjob。 cron 作业是关于运行特定作业的频率以及要运行的命令或 shell 脚本的规范。

例如,每小时运行一次 Perl 脚本:

0 * * * * /usr/home/foo/perscript.pl

前五列是时间规范(请参阅 crontab 手册页第 5 节:man crontab -s5)。然而,cron 依赖于每分钟启动 crontab 任务的守护进程来检查各种 crontab 表(因为每个用户都可以有一个)以查看是否有任何任务要运行。还有一个权限方案,其中一些人允许而其他人拒绝运行 cron 作业。

在一个答案中遍历整个 crontab 设置有点麻烦——特别是因为不同系统之间存在细微的差异。不过,现在您了解了 crontab,您可以 Google the information you need

关于linux - 如何在 Fedora 系统中每小时运行一个 Perl 脚本。我有一个 perl 脚本,它将检查 IP 中的端口是否打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21495348/

相关文章:

c++ - 在 Linux 上用 C++ 挂载 NTFS 设备?

linux - 如何在 brackground "watch"命令中记录到文件?

正则表达式从字符串中提取 IP 和端口

ruby-on-rails - Rails Whenever Gem 如何在 Controller.rb 文件中运行特定方法

mysql - LOAD DATA LOCAL INFILE 语法错误

linux - 无法在 WSL 上使用 Bash 进行 SSH

c - 你如何使用 wait() 杀死僵尸进程

perl - 在Perl中联接键和值

perl - 在 Perl 中,如何确定已加载的特定模块的模块版本?

ruby-on-rails - 基于文件更新在 Rails 中运行基于事件的 Cron 作业?