[Samba] way to make files not show up until completely transferred?

Mark Osborne Mark.Osborne at ni.com
Tue Oct 3 19:45:08 GMT 2006


I have run into an issue with rsync that I’m hoping someone can help with. 
 We are using rsync to mirror data between a samba share on an internal 
staging server and our production ftp servers.  The rsync runs from cron 
every 15 minutes.  Occasionally, the rsync will run while somebody is 
uploading a large file to the samba share (for instance an iso image). The 
file appears to make it out to the production ftp servers, and an ls shows 
it to have the correct file size and timestamp.  However, an md5sum of the 
file shows that it is different from the file on the staging server. 
Subsequent runs of the rsync do not update the file.  I have tried to run 
the rsync manually with the –c flag even though we wouldn’t really want to 
implement that because of how long it makes rysnc take.  Even with 
checksum turned on, the file still did not get correctly updated.  If the 
file is completely uploaded to the share before the rsync runs there does 
not appear to be an issue.

Originally I thought that there may be a problem with different versions 
of rsync on the servers.   The staging server was running rsync 2.5.5 
while the production servers were running 2.5.7.  I have gotten rsync 
2.6.8 on both servers and am still experiencing the problem. 

More information about the servers

Staging server – Solaris 8, rsync 2.6.8
Ftp1 – Redhat AS 2.1, rsync 2.6.8 
Ftp2 – Redhat AS 2.1, rsync 2.6.8

I've also posted this question to the rsync mailing list, but I'm 
wondering if there might be a workaround with samba.  Is there a way to 
make a file not show up in the share until it is completely uploaded?


Mark Osborne
Web Systems Engineer
mark.osborne at ni.com
(512) 683-5019

More information about the samba mailing list