[syslog-ng] Using mount file as source

Balazs Scheidler bazsi at balabit.hu
Wed Sep 30 10:50:11 CEST 2009


On Fri, 2009-08-28 at 08:26 +0200, G. Rayot wrote:
> Hi.
> 
> Using syslog-ng OSE, is it possible to use a remote file (ie: samba
> share) as source file?
> Doing it with a local file works like a charm, but using a mounted
> remote file does not work (with follow_freq set to 1 or not set). The
> file will be read by syslog-ng only if I make a ls on the folder where
> the file is mounted, or cat the file. Otherwise, syslog-ng seems to
> not see any change in the file.

Hm... this might be a filesystem issue. In order to have the file
checked if some more data was appended to it, syslog-ng performs an
fstat() on the opened file. This information may be cached by smbfs/cifs
on the client side.

As I see smbfs indeed does some time based caching:


        /*
         * Check whether we've recently refreshed the inode.
         */
        if (time_before(jiffies, SMB_I(inode)->oldmtime + SMB_MAX_AGE(s))) {
                VERBOSE("up-to-date, ino=%ld, jiffies=%lu, oldtime=%lu\n",
                        inode->i_ino, jiffies, SMB_I(inode)->oldmtime);
                goto out;
        }


Have you tried using cifs instead of smbfs? That seems to be the current client side 
implementation of SMBFS these days.

-- 
Bazsi



More information about the syslog-ng mailing list