URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 42209
[ Назад ]

Исходное сообщение
"Perl печать в файл"

Отправлено A Clockwork Orange , 27-Мрт-04 23:03 
$csvfile="/root/DialupStat." .$day . "." . $month . "." . $year . ".csv";
open(CSVFILE, $csvfile)
       or die "Can't open $csvfile: $!\n";
print CSVFILE "$day".".$monthN{$month}".".$year\n";
print "$day\n";
close(CSVFILE) or die "Can't close $csvfile: $!\n";

Сомотрю в файл ничего там нет


Содержание

Сообщения в этом обсуждении
"Perl печать в файл"
Отправлено nubi , 28-Мрт-04 03:15 
>$csvfile="/root/DialupStat." .$day . "." . $month . "." . $year . ".csv";
>
>open(CSVFILE, $csvfile)
>       or die "Can't open $csvfile:
>$!\n";
>print CSVFILE "$day".".$monthN{$month}".".$year\n";
>print "$day\n";
>close(CSVFILE) or die "Can't close $csvfile: $!\n";
>
>Сомотрю в файл ничего там нет

Да купи ты книжку то наконец:)
open(CSVFILE, ">$csvfile")

Ты же вроде админишь что-то.. Так или иначе перл знать надо



"Perl печать в файл"
Отправлено A Clockwork Orange , 28-Мрт-04 08:22 
Тогда почему это пишет
Filehandle CSVFILE opened only for input
Почему в другом скрипте есть такое
sysopen(CSVFILE,$csvfile, O_WRONLY | O_TRUNC | O_CREAT, 0600)  

И при этом все работает


"Perl печать в файл"
Отправлено A Clockwork Orange , 28-Мрт-04 08:24 
И почему когда я делаю
open(CSVFILE,$csvfile)  
и файл не существует, выкидывает ошибку что мол файла нет...
как же файл создать перед тем как открыть?

"Perl печать в файл"
Отправлено dl , 28-Мрт-04 11:08 
$csvfile="/root/DialupStat." .$day . "." . $month . "." . $year . ".csv";

open(CSVFILE, ">$csvfile")
       or die "Can't open $csvfile: $!\n";
print CSVFILE "$day".".$monthN{$month}".".$year\n";
print $day,"\n";
close(CSVFILE) or die "Can't close $csvfile: $!\n";



"Perl печать в файл"
Отправлено A Clockwork Orange , 28-Мрт-04 22:13 
Окрываю файл pppd.log делаю из него выжимку что нужно и подменяю старый файл новым через
rename ...

1. после этого логирование в pppd.log перестает работать пока не сделать
kill -1 сислогд?

2. делаю в перл скрипте
system ("kill -1 `ps -ax | grep syslogd | awk '{print $1}'`");
после чего убивается syslogd где я заблуждаюсь?


"Perl печать в файл"
Отправлено DogEater , 29-Мрт-04 10:33 
>Окрываю файл pppd.log делаю из него выжимку что нужно и подменяю старый
>файл новым через
>rename ...
>
>1. после этого логирование в pppd.log перестает работать пока не сделать
>kill -1 сислогд?
>
>2. делаю в перл скрипте
>system ("kill -1 `ps -ax | grep syslogd | awk '{print $1}'`");
>
>после чего убивается syslogd где я заблуждаюсь?


может проще system "/sbin/service syslog restart"; или как там в BSD?
всё равно ведь из про рута


"Perl печать в файл"
Отправлено A Clockwork Orange , 29-Мрт-04 10:35 
сделал через kill -1 `cat /var/run/syslog.pid`

вопрос в том почему лог перестает писаться без этого?


"Perl печать в файл"
Отправлено Михаил , 29-Мрт-04 12:16 
>сделал через kill -1 `cat /var/run/syslog.pid`
>
>вопрос в том почему лог перестает писаться без этого?
похоже, что syslog держит файл открытым и при записи в него указывает дескриптор открытого файла, а не его имя. а дескпритор указывает уже неизвестно куда...