syslogサーバのリモート受信テストをやりたいときに使っている、syslog送信スクリプトです。
もちろん、送信側でsyslogdの設定変えてloggerコマンドでもいいです。
使いかた
$ ./send_syslog.pl syslog_server "test message"
ソースコード
#!/usr/bin/perl use strict; use warnings; use Sys::Syslog qw(:DEFAULT setlogsock); my $ident = "test"; my $logopt = "pid"; my $facility = "local0"; my $priority = "info"; my ($sv, $msg) = @ARGV; setlogsock("udp"); $Sys::Syslog::host = $sv; openlog($ident, $logopt, $facility); syslog($priority, $msg); closelog();
実際syslogなんて514/udpに決まったフォーマットでパケット投げるだけなんですが