On Tue, 2009-11-03 at 13:31 -0800, Donald Russell wrote:
> Another system uses FTP to drop files in a directory for me to
> process.
> I have a bash script to process the incoming files. The script is
> started by cron periodically.
> 
> There's a problem if the FTP transfer is still in progress because the
> process begins reading the file even though it isn't complete yet.
> 
> From a bash script, is there a way to tell if the file is still being
> written to?
> I was looking at the lsof command, which will tell me if the file is
> opened or not, so that's a possibility... but it sure seems awkward
> for the task.

Not really. Since you know that the ftp demon is the only potential
writer for the file, you can use

        lsof -p <demon-pid> | grep <filename>

> I could also configure the ftp server to lock files being written, but
> that seems to be discouraged. (based on man vsftpd.conf)

inotify(7) could do the job, but would require some programming.

poc

-- 
fedora-list mailing list
[email protected]
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines

Reply via email to