Планирование сценария Perl - PullRequest
2 голосов
/ 03 июля 2010

У меня есть файл perl .exe, который я должен был запускать каждые десять минут. Я настроил планировщик Windows для его запуска, и он говорит, что он успешен, но в файле нет вывода. Когда я сам нажимаю на .exe, он записывает информацию в выходной файл. Когда планировщик предположительно запустил его, в файле ничего нет. Есть ли код, который я могу написать в скрипт perl, чтобы он запускался каждые десять минут сам по себе? Или кто-нибудь знает причину, по которой он может не работать должным образом. Вот мой код скрипта:

#!/usr/bin/perl -w
use LWP::Simple;
$now_string = localtime;

my $html = get("http://www.spc.noaa.gov/climo/reports/last3hours.html")
    or die "Could not fetch NWS page.";
$html =~ m{(Hail Reports.*)Wind Reports}s || die;
my $hail = $1;
open OUTPUT, ">>output.txt";
print OUTPUT ("\n\t$now_string\n$hail\n");
close OUTPUT;
print "$hail\n";

Ответы [ 2 ]

1 голос
/ 03 июля 2010

Есть 2 вещи, которые вы должны сделать:

  1. Укажите путь в программе
  2. Убедитесь, что разрешения для файла доступны для записи планировщиком

Код:

#!/usr/bin/perl -w

use LWP::Simple;
use strict;                                           # make sure you write good code

   my $now_string = localtime;

   my $html = get("http://www.spc.noaa.gov/climo/reports/last3hours.html")
              or die "Could not fetch NWS page.";
   my ($hail) = $html =~ m{(Hail Reports.*)Wind Reports}s or die;  # combine your lines in one

   my $file = "C:\Path\output.txt";                   # use full qualified path
   open OUTPUT, ">>$file";
      print OUTPUT ("\n\t$now_string\n$hail\n");
   close OUTPUT;

   print "$hail\n";
1 голос
/ 03 июля 2010

Если вы не удалили путь из своего кода и не указали начальный каталог, укажите полный путь для выходного файла, например, ,

open OUTPUT, ">>J:/Project/Reports/output.txt"
  or die "$0: open: $!";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...