Sponsored Content
Top Forums Shell Programming and Scripting Lots of logs to move....don't remove if open Post 302381169 by nestafaria on Thursday 17th of December 2009 10:02:56 AM
Old 12-17-2009
Lots of logs to move....don't remove if open

I have a ksh script that currently moves a day's worth of log files (about 15,000) files to a different directory. The issue is that about 100 of these files are still open for write when this happens. I need an efficient way to ensure that these files aren't open without doing an lsof on each individual file within my loop. I think I need to get the list of open files once, and then check my outer loop against this list or array, but I'm not quite sure how to script that. Any assistance?
Thanks
 

9 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

How to find one partucular user logs when there are lots of users running on it

On my application there are lots of users are doing there work or tasks? ...In my SSH or in 'Putty' i am observing logs? Hot to observe one particular 'user' logs.. even through there are lots of users working on it? For EX: i am log in with use rid:nikhil@in.com. another one log in with... (4 Replies)
Discussion started by: ksr.test
4 Replies

2. Shell Programming and Scripting

script to move logs

Does anyone have a good script to move log files from a cron? There are a lot of logs, about 100 or more and they are constantly being written too. (7 Replies)
Discussion started by: photon
7 Replies

3. Shell Programming and Scripting

Script to move files based on Pattern don't work

Hi people, i need you help on this if you can. I have a script that does the move command when it searches for a that doesn't match the pattern. This Pattern is on a list. When it run's and doesn´t found no files but it haves 2 more folders it moves the folders too. Ex:... (1 Reply)
Discussion started by: osramos
1 Replies

4. Programming

problem with lots of open sockets

I'm programming in C with lots of sockets, (asynchronous handling), and for a while it goes ok, but after a while it starts to hang, or not get complete connections anymore. checking my router, i see that i get nat tables overflow and even my DNS cacher seems to be having serious issues... ... (4 Replies)
Discussion started by: alien999999999
4 Replies

5. Solaris

Open Terminal Don't work

Hi, I installed solaris 10 x86 on my local system. it was working fine. today when i started the system, it started up without any problem. when i tried to open the terminal it didn't open any terminal. Plz help me (0 Replies)
Discussion started by: malikshahid85
0 Replies

6. Shell Programming and Scripting

Remove words from file2 that don't exist in file1

Hi I have to list of words file1 and file2, I want to compare both lists and remove from file2 all the words that don't exist in file1. How can I do this? Many thanks (4 Replies)
Discussion started by: noliveira
4 Replies

7. Shell Programming and Scripting

To check if a file is open and in use (logs are being written to it)

Hello Experts, I need to write a shell script to check if a file is open and something is being written to it. I want to know how OS handles it. I checked with lsof command but it is not working. For a test I did this. while true; do echo `date` >>abc.txt; done then I checked lsof |... (5 Replies)
Discussion started by: shekhar_4_u
5 Replies

8. Shell Programming and Scripting

If I ran perl script again,old logs should move with today date and new logs should generate.

Appreciate help for the below issue. Im using below code.....I dont want to attach the logs when I ran the perl twice...I just want to take backup with today date and generate new logs...What I need to do for the below scirpt.............. 1)if logs exist it should move the logs with extention... (1 Reply)
Discussion started by: Sanjeev G
1 Replies

9. Shell Programming and Scripting

How to remove answers and explanation parts from a text file with lots of questions.?

Hi, I have a text file with thousands of questions in it. Each question (multiple lines) with multiple choice options, Answer and Explanation (optional). I need to delete Answer & explanation parts for all Questions and insert a blank line before net question. Each question starts with NO. I... (4 Replies)
Discussion started by: prvnrk
4 Replies
IKC(3pm)						User Contributed Perl Documentation						  IKC(3pm)

NAME
POE::Component::IKC -- POE Inter-Kernel Communication SYNOPSIS
IKC server use POE::Component::IKC::Server; # create all your sessions POE::Component::IKC::Server->spawn( port=>30, name=>'Server' ); # more options are available $poe_kernel->run(); IKC client use POE::Component::IKC::Client; POE::Component::IKC::Client->spawn( host=>name, port=>30, name=>'Client', on_connect=>&build); $poe_kernel->run(); sub build { # create sessions that depend on the foreign kernel. } Post a state on a foreign kernel $kernel->post('IKC', 'post', "poe://Server/session/state", $ONE_arg); The IKC is peer-to-peer. Server can post to client. $kernel->post('IKC', 'post', 'poe://Client/session/state', $ONE_arg); Call a state on a remote kernel Call semantics are impossible, because they would cause POE to block. IKC call is a bit different. It is a 'post', but with an extra RSVP parameter. $kernel->post('IKC', 'call', 'poe://Server/hello/world', $ONE_arg, 'poe:callback'); This will cause the returned value of the foreign state to be sent to state 'callback' in the current session. You may want the callback to be in another session, but I don't think this is a good idea. $kernel->post('IKC', 'call', 'poe://Server/hello/world', $ONE_arg, 'poe:/elsewhere/hi'); Note : if you use ->call('IKC'), it will return the number of foreign kernels the state was sent to. This is a handy way to find out if you are still connected to a foreign kernel. A little magic If a state is posted by a foreign kernel, $_[SENDER] is only valid during that state. However, you will be able to post back to it. $kernel->post($_[SENDER], 'something', 'the answer is foo'); The remote caller MUST have published states for them to be callable, eh? Publish / Subscribe You must publish a session's interface for it to be available to remote kernels. If you subscribe to a remote session, you may access it as if it was a local session. First, a session publishes its interfaces: $kernel->post('IKC', 'publish', 'session_alias', [qw(state1 state2 state3 state4)], ); Then a foreign kernel subscribes to it: # Look for a session on all known foreign kernels $kernel->post('IKC', 'subscribe', [qw(poe://*/session_alias/)]); # Look for a session on a specific foreign kernel $kernel->post('IKC', 'subscribe', [qw(poe://Pulse/timeserver)]); # Make sure the session has a given state $kernel->post('IKC', 'subscribe', [qw(poe://*/timeserver/connect)]); After subscription, a proxy session is created that can be accessed like any old session, though ->call() acts the same as ->post() for obvious reasons: $kernel->post('poe:/Pulse/timeserver', 'state', $arg1, $arg2...); Currently, the session alias used by post to the proxy session must be the same one as used when subscribing. Because kernels have multiple names, if you are using '*' as the kernel name when subscribing, the session alias might not be what you think it is. See "Monitor" for details. Of course, attempting to post to a proxy session before it is created will be problematic. To be alerted when the proxy session is created, a callback state may be specified, $kernel->post('IKC', 'subscribe', [qw(poe://*/timeserver)], 'timeserver_subscribed'); The callback will be called with a list of all the sessions that it managed to subscribe to. You should check this list before continuing. Better yet, you could use the IKC monitor (see below). One can also let POE::Component::IKC::Client->spawn deal with all the details. POE::Component::IKC::Client->spawn( port=>31337, name=>$name, subscribe=>[qw(poe://*/timeserver)], on_connect=>&create_me, ); 'on_connect' is only called when all the subscriptions have either been accepted. If a subscription was refused, create_ikc_client will give up. If multiple foreign kernels where quieried for a session (as is the case above), subscription is deemed to succeed if at least one foreign kernel accepts the subscription. To undo things : $kernel->post(IKC=>'retract', 'session_alias'=>[qw(states)]); $kernel->post(IKC=>'unsubscribe', [qw(poe://Pulse/timeserver)]); Monitor Say you wanted to monitor all remote kernels that connect to you: $kernel->post(IKC=>'monitor', '*'=>{register=>'some_event'}); sub some_event { my($name, $real)=@_[ARG1, ARG2]; print "- Remote kernel ", ($real ? '' : "alias "), "$name connected "; } Later, you want to know when a given remote session disconnects: $kernel->post(IKC=>'monitor', some_kernel=>{unregister=>'bye_bye'}); Or maybe you think a session should clean up and leave whenever IKC does. $kernel->post(IKC=>'monitor', '*'=>{shutdown=>'other_event'}); sub other_event { # kill wheels, alarms, selects and aliases here } See "monitor" in POE::Component::IKC::Responder for more details. Shutdown When you feel the time is right and you want to get rid of all IKC-related sessions, just do the following: $kernel->post(IKC=>'shutdown'); And they should all disapear. At worst, some will still have registered alises, but this won't prevent the kernel from exiting. The local kernel You can post to the local kernel as if it was remote: $kernel->post(IKC=>'post', "poe://$kernel->ID/session/state'=>$ONE_arg); However, you can't currently subscribe to local sessions. I don't know how I'm going to resolve this. DESCRIPTION
This is Inter-Kernel Communication for POE. It is used to get events from one POE kernel to another SEE ALSO
POE::Component::IKC::Responder -- Heart of the system POE::Component::IKC::Server -- Create a process that listens for other kernels. POE::Component::IKC::Client -- Create a process that connects to other kernels. POE::Component::IKC::ClientLite -- Light weight IKC implementation for places you can't use POE, such as mod_perl. POE::Component::IKC::Channel -- Handle communcation with other kernels. POE::Component::IKC::Proxy -- Proxy session that is created when you subscribe to a remote session. POE::Component::IKC::Freezer -- Pure-Perl serialization method. POE::Component::IKC::Specifier -- Helper routines for parsing IKC specifiers. AUTHOR
Philip Gwyn <perl-ikc at pied.nu> COPYRIGHT AND LICENSE
Copyright 1999-2011 by Philip Gwyn. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See <http://www.perl.com/language/misc/Artistic.html> perl v5.12.4 2011-08-27 IKC(3pm)
All times are GMT -4. The time now is 01:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy