処理したらログファイルを削除したいのですが、次のようにしました。
<Extension multiline>
Module xm_multiline
Exec if $raw_event =~ /^\s*$/ drop();
HeaderLine /Debut du job/
</Extension>
<Input in1>
Module im_file
File '/opt/appl/appli/logs/*.nxlog'
InputType multiline
Exec $nxlog_message = $raw_event;
Exec $nxlog_tags = "appli";
Exec $nxlog_hostname = hostname();
Exec $nxlog_filename = file_name();
Exec to_json();
</Input>
<Extension exec_out>
Module xm_exec
</Extension>
<Output fileout1>
Module om_file
File "/tmp/test.log"
Exec exec_async("/bin/rm" + $nxlog_filename);
</Output>
今のところ、何も起こりませんでした…私はアイデアを楽しみにしています。
助けのためのThx :)
問題は、exec_async()がコマンドに連結された引数を受け取らないことだと思います。つまり、代わりにこれが必要です。
Exec exec_async("/bin/rm", $nxlog_filename);
/ bin/rmを呼び出す代わりに、組み込みの file_remove() を使用することをお勧めします。