Sponsored Content
Top Forums Shell Programming and Scripting check if some file is in copy process, then transfer it Post 302480672 by fnds on Wednesday 15th of December 2010 12:57:07 PM
Old 12-15-2010
Instead of checking the file size you should check if the file is open. You can use the fuser utility to do that:

Code:
f=/tmp/x.x
test ! -f $f && echo file not found && exit
c=`fuser -f $f 2>&1 | wc -w`
c=`echo $c`
case $c in
1) echo file is not open;;
*) echo file is open;;
esac

Tested with bash on OpenBSD

---------- Post updated at 12:57 PM ---------- Previous update was at 12:54 PM ----------

Quote:
Originally Posted by DGPickett
Bad idea -- how long is long enough? Best idea: write under another name like same.temp and then rename when done. Second choice: use fuser to see if it is open, but even if not open, file may be incomplete due to a failed writer, unless you have a way to validate it, such as a trailer record.

PS: Comment s/b after the do line!
Agreed. Copy/rename is the fool proof way to avoid problems.
 

10 More Discussions You Might Find Interesting

1. Programming

transfer an open file description between two process

How can I transfer an open file description between two process? (1 Reply)
Discussion started by: xu_wen_dong
1 Replies

2. Shell Programming and Scripting

How to check a file exist and do a copy of other files

Hi, I would like to perform bash which would check the file A.txt to be size 0 or not. If the size is 0, I would copy file B.txt to replace A.txt. Please help. Thanks. -Jason (6 Replies)
Discussion started by: ahjiefreak
6 Replies

3. Shell Programming and Scripting

Copy Files to Dir and Check If File Exists

Hi everyone. I am trying to write a bash script that will copy files from one directory to another but I need to be able to check the directory that I'm copying the files to and see if the file already exists. If it does I need to add a number at the end of the copied file. Thanks for your help. (3 Replies)
Discussion started by: snag49ers
3 Replies

4. Shell Programming and Scripting

check if file finished to copy

Hi all, I have a script that is monitoring a hot folder. This script works fine with one exception when the script is executed while a file is being copied to the hot folder. What is the easiest method to check if the copy file is completed? I'd like to get the solution in bash :) (8 Replies)
Discussion started by: gigagigosu
8 Replies

5. UNIX for Advanced & Expert Users

How to copy a binary file while the file is being written to by another process

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... (1 Reply)
Discussion started by: mbuki
1 Replies

6. UNIX for Advanced & Expert Users

Secure Copy - File Transfer between 2 server

Using RCP command we can transfer file from one server to another server. While transferring we can rename the file also e.g. File name = FILE123.txt (lying on Source server = oldserver) Target Server Name = newyour Renamed File = FILE456.txt rcp FILE123.txt newyour:./FILE456.txt... (1 Reply)
Discussion started by: Pash
1 Replies

7. Shell Programming and Scripting

Automation, Copy, File Status Check --> Script(s)

All, I have to write a script to do the following requirement. There is a file called BUSINESS_DATE.TXT. This file get updated once the oracle partition created. In Oracle, Partition will be created every day. There is a seperate script scheduled to take care ORACLE partition creation. The... (3 Replies)
Discussion started by: karthi_mrkg
3 Replies

8. UNIX for Dummies Questions & Answers

Ftp - file transfer and check successful delivery

In shell script, I want to transfer files continuously and make sure transfer is successful. Please advise... how to make sure ftp transfer is successful? Also is there any option such as sftp -b where I can pass multiple put <file name> commands to ftp Thanks! (1 Reply)
Discussion started by: vegasluxor
1 Replies

9. UNIX for Dummies Questions & Answers

Issues in Csv file transfer copy from one dir to another

Hi Unix community, I got this code from you guys and I tried to modify it to use for my csv dir transfer basically i want the .csv file to copy itself and populate it to the archive dir. #!/bin/ksh dir1="/home/pumela/unixtestprod" cd "$dir1" echo "code is running" for srcd in... (13 Replies)
Discussion started by: phumaree
13 Replies

10. UNIX for Beginners Questions & Answers

If statement to check file transfer

Hello Guys, I am trying scp few file within if statement, but getting error, can someone please help to understand, what mistake I am making ? if && ] ; then echo " Files transferred to Log servers successfully. " else echo " One or more file transfer failed over... (10 Replies)
Discussion started by: UnknownGuy
10 Replies
cp(1)							      General Commands Manual							     cp(1)

Name
       cp - copy file data

Syntax
       cp [ -f ] [ -i ] [ -p ] file1 file2

       cp [ -f ] [ -i ] [ -p ] [ -r ] file... directory

       cp [ -f ] [ -i ] [ -p ] [ -r ] directory... directory

Description
       The command copies file1 onto file2.  The mode and owner of file2 are preserved if it already existed; the mode of file1 is used otherwise.
       Note that the command will not copy a file onto itself.

       In the second form, one or more files are copied into the directory with their original file names.

       In the third form, one or more source directories are copied into the destination directory with their original file names.

Options
       -f   Forces existing destination pathnames to be removed before copying, without prompting for confirmation.  The -i option is  ignored	if
	    the -f option is specified.

       -i   Prompts  user  with  the name of file whenever the copy will cause an old file to be overwritten. A yes answer will cause to continue.
	    Any other answer will prevent it from overwriting the file.

       -p   Preserves (duplicates) in the copies the modification time, access time, file mode, user ID, and group ID as allowed  by  the  permis-
	    sions of the source files, ignoring the present umask.

       -r   Copies  directories.  Entire directory trees, including their subtrees and the individual files they contain, are copied to the speci-
	    fied destination directory. The directory, its subtrees, and the individual files retain their original names. For	example,  to  copy
	    the directory including all of its subtrees and files, into the directory enter the following command:
	    cp -r reports news

See Also
       cat(1), pr(1), mv(1)

																	     cp(1)
All times are GMT -4. The time now is 09:09 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy