How to determine if a file is in use

Cameron Simpson cs at zip.com.au
Wed Nov 4 04:49:04 UTC 2009


On 03Nov2009 13:31, Donald Russell <russell.don at gmail.com> 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.

I liked the upload-then-rename suggested by another poster, if you can 
get this implemented.

Otherwise...

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

It's not discouraged for any reason that seems to match your use case.
You've got a well defined upload area and no malicious users.
Use the lock facility! That's what it's for!

| Basically, what I want is something like
| Can I get an exclusive read on file x?
| No - skip that file, go onto the next one
| Yes - start processing that file

Do it! See above! Have you tried it?

Cheers,
-- 
Cameron Simpson <cs at zip.com.au> DoD#743
http://www.cskk.ezoshosting.com/cs/

Carpe Daemon - Seize the Background Process
        - Paul Tomblin <ab401 at freenet2.carleton.ca>




More information about the users mailing list