Hello,
Can I copy a binary file while the file is being written to by another process?
Another process (program) �P1� creates and opens (for writing) binary file �ABC� on local disk. Process P1 continuously write into ABC file every couple of seconds, adding 512-byte blocks of data. ABC file usually grows to the size of 20-30 MB.
I need to make a copy (replica) of ABC file every one hour, while process P1 is still active. My copy action must not disturb process P1 and no data can be lost (not written) into ABC file because of my copy action. It is ok if my action causes a short delay in P1 writing, but data must not be lost. It is ok if my copy of ABC file misses the latest blocks of data from ABC file. If I can safely make a copy of ABC file which will be a snapshot of ABC file from 5 minutes ago, that is ok for me.
Can you please help me with the description of steps that I need to do in my program or script?
Is there a way to open a file for read-only, but in a way that UNIX would guarantee that my reading program will not disturb the other writing program P1?
I'm working on AIX server.
Thank you,
Milan