Sponsored Content
Top Forums Shell Programming and Scripting Ensure file copy is complete before starting process Post 302476646 by bakunin on Thursday 2nd of December 2010 07:08:12 AM
Old 12-02-2010
Use lsof, strace or some similar tool to monitor the processes accessing the particular file. If there are none such processes the upload is complete, otherwise it is still being transmitted.

This way you don't have to keep file lists or something such at all.

The following is NOT a runnable script, just a sketch to demonstrate the logic:

Code:
typeset fSrc="/path/to/sourcedir"
typeset fTgt="/path/to/targetdir"

while : ; do
     ls /path/to/sourcedir | while read file ; do
          if [ $(lsof $fSrc/$file | wc -l) -gt 1 ] ; then
               echo "file $file still loading, skipping it"
          else
               mv $fSrc/$file $fTgt/$file
               echo "file $file completed upload, moving it"
          fi
     done
done

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

capture the process id when starting a background process

Hello all, How do I start a background process and save the process id to a file on my system. For example %wait 5 & will execute and print the process id. I can't figure out how to get it to a file. I've tried: > filename 0>filename 1>filename. Any assistance is most appreciated. Thanks, Jim... (10 Replies)
Discussion started by: jleavitt
10 Replies

2. Filesystems, Disks and Memory

some process writin file - check if complete

Hi folks... some process is writing a file.... as soon as the process starts the file comes there, and its growin.. now i in another script want to ftp the file. i don't know if the file is complete or not. the process which writes the file is some other application and hence can't... (0 Replies)
Discussion started by: sade
0 Replies

3. Shell Programming and Scripting

PERL: wait for process to complete

I'm using PERL on windows NT to try to run an extract of data. I have multiple zip files in multiple locations. I am extracting "*.t" from zip files and subsequently adding that file to one zip file so when the script is complete I should have one zip file with a whole bunch of ".t" files in it. ... (2 Replies)
Discussion started by: dangral
2 Replies

4. UNIX for Dummies Questions & Answers

Ensure FTP is complete before using file

Hi, I have a program that checks a directory for new files. A file may be placed in the directory only via FTP from another system. The files are long, the FTP can take several minutes to complete. my program sences that a file has arrived but can't tell if the FTP process that sent it is... (10 Replies)
Discussion started by: GMMike
10 Replies

5. Shell Programming and Scripting

Ensure the file completion ?

Hi, I would like to copy a file from one location to another. But that particular file is not fully loaded. I like to copy a file once it's fully loaded or complete file. How to ensure whether file is fully loaded or complete file?. -Thambi (5 Replies)
Discussion started by: thambi
5 Replies

6. IP Networking

A test to ensure TCP/IP configuration is complete

Greetings. I have Debian lenny, and at the moment only the bare bones install, no GUI. I'm connecting via wireless to a Linksys router on a home network, and I manually configured a fixed ip etc during the install. I have not attempted to use any higher level apps such as ftp or telnet or apt yet.... (3 Replies)
Discussion started by: fguy
3 Replies

7. Shell Programming and Scripting

[KSH/Bash] Starting a parent process from a child process?

Hey all, I need to launch a script from within 2 other scripts that can run independently of the two parent scripts... Im having a hard time doing this, if anyone knows how please let me know. More detail. ScriptA (bash), ScriptB (ksh), ScriptC (bash) ScriptA, launches ScriptB ScirptB,... (7 Replies)
Discussion started by: trey85stang
7 Replies

8. Shell Programming and Scripting

check if some file is in copy process, then transfer it

my user copy large files, and it's take 10min for file to be copied to the server (/tmp/user/ files/), if in the meantime start my scheduled script, then it will copy a part of some file to server1 my idea is to check the file size twice in a short period (1-2 seconds) of time, then compare, if... (5 Replies)
Discussion started by: waso
5 Replies

9. 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

10. Shell Programming and Scripting

Script that waits for process to complete

Hello, I am in need of running an executable provided by a vendor that basically syncs files to a db. This tool can only be run against one folder at a time and it cannot have more than one instance running at a time. However, I need to run this tool against multiple folders. Each run of the... (5 Replies)
Discussion started by: vipertech
5 Replies
cron(1M)																  cron(1M)

NAME
cron - timed-job execution daemon SYNOPSIS
DESCRIPTION
executes commands at specified dates and times. Regularly scheduled commands can be specified according to instructions placed in files. Users can submit their own files with a command (see crontab(1)). Users can submit commands that are to be executed only once with an or command. Since never exits, it should be executed only once. This is best done by running from the initialization process with the startup script (see init(1M)). only establishes a schedule for files and or command files during process initialization and when it is notified by or that a file has been added, deleted, or modified. When executes a job, the job's user and group IDs are set to those of the user who submitted the job. Spring and Autumn Time Transitions On the days of daylight savings (summer) time transition (in time zones and countries where daylight savings time applies), schedules com- mands differently from normal. In the following description, an ambiguous time refers to an hour and minute that occurs twice in the same day because of a daylight sav- ings time transition (usually on a day during the Autumn season). A nonexistent time refers to an hour and minute that does not occur because of a daylight savings time transition (usually on a day during the Spring season). DST-shift refers to the offset that is applied to standard time to result in daylight savings time. This is normally one hour, but can be any combination of hours and minutes up to 23 hours and 59 minutes (see tztab(4)). When a command is specified to run at an ambiguous time, the command is executed only once at the occurrence of the ambiguous time. When a command is specified to run at a nonexistent time, the command is executed after the specified time by an amount of time equal to the DST-shift. When such an adjustment would conflict with another time specified to run the command, the command is run only once rather than running the command twice at the same time. Commands that are scheduled to run during all hours (there is a is in the hour field of the entry) are scheduled without any adjustment. EXTERNAL INFLUENCES
Environment Variables determines the language in which messages are displayed. If is not specified or is set to the empty string, it defaults to "C" (see lang(5)). If any internationalization variable contains an invalid setting, all internationalization variables default to "C" (see environ(5)). DIAGNOSTICS
A history of all actions taken by is recorded in EXAMPLES
The following examples assume that the time zone is In this time zone, the DST transition occurs one second before 2:00 a.m. and the DST- shift is 1 hour. Consider the following entries in a file: For the period of 1:00 a.m. to 4:00 a.m. on the days of DST transition, the results will be: Job Times Run in Fall Times Run in Spring ----------------------------------------------------- Job_1 01:00 MDT 01:00 MST Job_2 02:00 MDT 03:00 MDT Job_3 03:00 MST 03:00 MDT Job_4 04:00 MST 04:00 MDT Job_hourly 01:00 MDT 01:00 MST 02:00 MDT 02:00 MST 03:00 MST 03:00 MDT 04:00 MST 04:00 MDT Multiple_1 02:00 MDT 03:00 MST 03:00 MDT 04:00 MST 04:00 MDT Multiple_2 02:00 MDT 03:00 MDT 04:00 MST 04:00 MDT WARNINGS
In the Spring, when there is a nonexistent hour because of daylight savings time, a command that is scheduled to run multiple times during the nonexistent hour will only be run once. For example, a command scheduled to run at 2:00 and 2:30 a.m. in the time zone will only run at 3:00 a.m. The command that was scheduled at 2:30 a.m. will not be run at all, instead of running at 3:30 a.m. DEPENDENCIES
HP Process Resource Manager If the optional HP Process Resource Management (PRM) software is installed and configured, jobs are launched in the initial process resource group of the user that scheduled the job. The user's initial group is determined at the time the job is started, not when the job is scheduled. If the user's initial group is not defined, the job runs in the user default group See prmconfig(1) for a description of how to configure HP PRM, and prmconf(4) for a description of how the user's initial process resource group is determined. AUTHOR
was developed by AT&T and HP. FILES
Main directory Directory containing and job files Directory containing files Accounting information SEE ALSO
at(1), crontab(1), sh(1), init(1M), queuedefs(4), tztab(4). HP Process Resource Manager: prmconfig(1), prmconf(4) in STANDARDS CONFORMANCE
cron(1M)
All times are GMT -4. The time now is 04:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy