$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";Сомотрю в файл ничего там нет
>$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")Ты же вроде админишь что-то.. Так или иначе перл знать надо
Тогда почему это пишет
Filehandle CSVFILE opened only for input
Почему в другом скрипте есть такое
sysopen(CSVFILE,$csvfile, O_WRONLY | O_TRUNC | O_CREAT, 0600)И при этом все работает
И почему когда я делаю
open(CSVFILE,$csvfile)
и файл не существует, выкидывает ошибку что мол файла нет...
как же файл создать перед тем как открыть?
$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";
Окрываю файл pppd.log делаю из него выжимку что нужно и подменяю старый файл новым через
rename ...1. после этого логирование в pppd.log перестает работать пока не сделать
kill -1 сислогд?2. делаю в перл скрипте
system ("kill -1 `ps -ax | grep syslogd | awk '{print $1}'`");
после чего убивается syslogd где я заблуждаюсь?
>Окрываю файл 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?
всё равно ведь из про рута
сделал через kill -1 `cat /var/run/syslog.pid`вопрос в том почему лог перестает писаться без этого?
>сделал через kill -1 `cat /var/run/syslog.pid`
>
>вопрос в том почему лог перестает писаться без этого?
похоже, что syslog держит файл открытым и при записи в него указывает дескриптор открытого файла, а не его имя. а дескпритор указывает уже неизвестно куда...