Visit Our UNIX and Linux User Community

Full Discussion: Any Ideas?
Top Forums Shell Programming and Scripting Any Ideas? Post 22747 by Docboyeee on Monday 10th of June 2002 11:59:20 AM
Old 06-10-2002
Any Ideas?

I have several staging directories on my UNIX server.

/usr2/data1
/usr2/data2
/usr2/data3
/usr2/data4
/usr2/data5
/usr2/data6

In these directories a file is transferred from different PC's connected to the network via TCP/IP. The File name is constant for all directories.

Transfers from the PC to the UNIX server could possibly take place several times during the day. Meaning - the information from PC1 that is sent to the UNIX server and placed in /usr2/data1 could possibly be sent several times during the course of the day or even several days before it is processed. I would like to write a script that would check each one of these directories and see if there is a file in there. The filename will be constant. My delima is this:

1) I don't want to overwrite a file that is currently sitting in that directory. So.. I would need to move the file out of the staging directory and place it over into a different directory. But let's suppose that when my script looks in this directory and sees a file in there... how am I to know whether the file has been completely transferred from the PC to the UNIX server? I don't want to try and move the file right in the middle of the ftp process between the PC and the UNIX server.

2) I want to rename the file and place it into a process directory for processing. However, I don't want to name the file the same name as a file that already exists in the directory.

3) I eventually want to cat all these files together for processing and move them out of my process directory into a hold directory in case something happened during the processing.


Anyone got any ideas ?
 

8 More Discussions You Might Find Interesting

1. Cybersecurity

Any Ideas !!!!!!!!!!

Hi, I installed sybase server on a LINUX server. I assigen port 2025 whilst installation for sybase , later i uninstalled sybase and when i try to reinstall sybase and use port 2025 it throw up error saying that it is already in use, use other port number. How can I re-use the same port number... (2 Replies)
Discussion started by: suda
2 Replies

2. Shell Programming and Scripting

any ideas?

i need to compare to dates/times given in the format MMDDhhmmYY. That is month, day, hour, minute, year. It is a 24 hour clock. I need to compare two dates to check that they are, say, less than 900 seconds apart. I have got to a point where it checks the time, turns the values into seconds and... (5 Replies)
Discussion started by: fwabbly
5 Replies

3. Shell Programming and Scripting

Scripting ideas?

Hi All, How can I script the following logic? Step 1: Check if the file xyz.txt exists under direcotry test and if the size of the file xyz.txt is greater than 32MB. Step 2: If the above conditions are true(file exists and size >32 MB), then step 3, otherwise step 4 (file does not exist or... (2 Replies)
Discussion started by: Sueyoung88
2 Replies

4. Solaris

Need ideas what is wrong with v440

Hello everyone, I'm here today looking for help... I have a SunFire v440 running Solaris 9 at work that manages the SCSI tape drives(LTO3) in our L700 tape library (runs SAMFS). I went into work today and found the machine was ping-able but I could not connect to it via SSH and could not... (7 Replies)
Discussion started by: mainegeek
7 Replies

5. UNIX for Advanced & Expert Users

Sendmail - Any Ideas?

I have solaris 9 and am using sendmail to pickup requests and forward them to a bulk mail server on a different port. Now for the fun...In sendmail, I need to find a way to place a default address in the Mail From: and Rcpt To: or remove them as required - These will be picked up by the bulk mail... (3 Replies)
Discussion started by: mikey2003ma
3 Replies

6. UNIX and Linux Applications

Need ideas for graduation project based on unix or linux Need ideas for graduation project based on

Dear all, i am in last year of electronics department in engineering faculty i need suggestions for a graduation project based on unix or free bsd or linux and electronics "embedded linux " i think about embedded unix for example or device drivers please i need helps (1 Reply)
Discussion started by: MOHA-1
1 Replies

7. Shell Programming and Scripting

Ideas for while loop

idealy, i'd like to do something like this: while read line do echo $line done < $(egrep error /var/log/syslog) but when i do, i get an unexpected response. i.e. cat test: #!/bin/sh while read line do echo $line done < $(egrep error /var/log/syslog) (12 Replies)
Discussion started by: SkySmart
12 Replies

8. Shell Programming and Scripting

Help me get some ideas

Hello, I have been given a scripting project, but have not learned any scripting. I need to get some ideas on how to start. Attached is part of the project: I have no idea how to parse the arguments. What I had in mind was to get the arguments ($1, $2, ... ) and have if statements for different... (1 Reply)
Discussion started by: facepalm
1 Replies
Kstat(3PERL)						      Perl Library Functions						      Kstat(3PERL)

NAME
Kstat - Perl tied hash interface to the kstat facility SYNOPSIS
use Sun::Solaris::Kstat; Sun::Solaris::Kstat->new(); Sun::Solaris::Kstat->update(); Sun::Solaris::Kstat->{module}{instance}{name}{statistic} DESCRIPTION
Kernel statistics are categorized using a 3-part key consisting of the module, the instance, and the statistic name. For example, CPU information can be found under cpu_stat:0:cpu_stat0, as in the above example. The method Sun::Solaris::Kstat->new() creates a new 3-layer tree of Perl hashes with the same structure; that is, the statistic for CPU 0 can be accessed as $ks->{cpu_stat}{0}{cpu_stat0}. The fourth and lowest layer is a tied hash used to hold the individual statistics values for a particular system resource. For performance reasons, the creation of a Sun::Solaris::Kstat object is not accompanied by a following read of all possible statistics. Instead, the 3-layer structure described above is created, but reads of a statistic's values are done only when referenced. For example, accessing $ks->{cpu_stat}{0}{cpu_stat0}{syscall} will read in all the statistics for CPU 0, including user, system, and wait times, and the other CPU statistics, as well as the number of system call entries. Once you have accessed a lowest level statistics value, calling $ks->update() will automatically update all the individual values of any statistics you have accessed. There are two values of the lowest-level hash that can be read without causing the full set of statistics to be read from the kernel. These are "class", which is the kstat class of the statistics, and "crtime"n, which is the time that the kstat was created. See kstat(3KSTAT) for full details of these fields. Methods new() Create a new kstat statistics hierarchy and return a reference to the top-level hash. Use it like any normal hash to access the statistics. update() Update all the statistics that have been accessed so far. In scalar context, update() returns 1 if the kstat structure has changed, and 0 otherwise. In list context, update() returns references to two arrays: the first holds the keys of any kstats that have been added, and the second holds the keys of any kstats that have been deleted. Each key will be returned in the form "module:instance:name". EXAMPLES
Example 1 Sun::Solaris::Kstat example use Sun::Solaris::Kstat; my $kstat = Sun::Solaris::Kstat->new(); my ($usr1, $sys1, $wio1, $idle1) = @{$kstat->{cpu_stat}{0}{cpu_stat0}}{qw(user kernel wait idle)}; print("usr sys wio idle "); while(1) { sleep 5; if ($kstat->update()) { print("Configuration changed "); } my ($usr2, $sys2, $wio2, $idle2) = @{$kstat->{cpu_stat}{0}{cpu_stat0}}{qw(user kernel wait idle)}; printf(" %.2d %.2d %.2d %.2d ", ($usr2 - $usr1) / 5, ($sys2 - $sys1) / 5, ($wio2 - $wio1) / 5, ($idle2 - $idle1) / 5); $usr1 = $usr2; $sys1 = $sys2; $wio1 = $wio2; $idle1 = $idle2; } SEE ALSO
perl(1), kstat(1M), kstat(3KSTAT), kstat_chain_update(3KSTAT), kstat_close(3KSTAT), kstat_open(3KSTAT), kstat_read(3KSTAT) NOTES
As the statistics are stored in a tied hash, taking additional references of members of the hash, such as my $ref = ks->{cpu_stat}{0}{cpu_stat0}{syscall}; print("$$ref "); will be recorded as a hold on that statistic's value, preventing it from being updated by refresh(). Copy the values explicitly if persis- tence is necessary. Several of the statistics provided by the kstat facility are stored as 64-bit integer values. Perl 5 does not yet internally support 64-bit integers, so these values are approximated in this module. There are two classes of 64-bit value to be dealt with: 64-bit intervals and times These are the crtime and snaptime fields of all the statistics hashes, and the wtime, wlentime, wlastupdate, rtime, rlentime and rlastupdate fields of the kstat I/O statistics structures. These are measured by the kstat facility in nanoseconds, meaning that a 32-bit value would represent approximately 4 seconds. The alternative is to store the values as floating-point numbers, which offer approximately 53 bits of precision on present hardware. 64-bit intervals and timers as floating point values expressed in seconds, meaning that time-related kstats are being rounded to approximately microsecond resolution. 64-bit counters It is not useful to store these values as 32-bit values. As noted above, floating-point values offer 53 bits of precision. Accordingly, all 64-bit counters are stored as floating-point values. SunOS 5.11 21 Jul 2005 Kstat(3PERL)

Featured Tech Videos

All times are GMT -4. The time now is 07:24 PM.
Unix & Linux Forums Content Copyright 1993-2021. All Rights Reserved.
Privacy Policy