Sponsored Content
Full Discussion: Cp & skipping exiting files
Top Forums Shell Programming and Scripting Cp & skipping exiting files Post 302962865 by Don Cragun on Saturday 19th of December 2015 06:05:21 PM
Old 12-19-2015
Sorry... I should have been much more verbose about the environment needed to use a hard link as a backup method.

I once worked in a group where a logging daemon was started when the system booted and ran forever to log errors that would occur. It opened the log files with something like:
Code:
        fd = open(logname, O_CREAT | O_WRONLY, S_IRUSR | S_IRGRP | S_IROTH);

(note that it is opening a file for writing with no write permissions on the file it creates).

If the open() failed with an EPERM error, it looked to see if another daemon is already running (and quietly exited if it was). Otherwise, it incremented that day's log sequence number and tried again.

At midnight, it closed the current log file, opened a new log file for the new day, hard linked any log files created the previous day to a backup directory, and removed any log files in the log directory that were more than a week old (leaving the link in the backup directory untouched).

Another process ran every few days archiving the log files in the backup directory to tape and removing log files more than three months old from the backup directory.

This scheme worked well for that project, but it assumes a lot about how the logs are created and used that is atypical for most loggers today.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Cron job skipping problem

Hi, I have a crontab that runs some shell scripts at fixed intervals. Although, one condition for a script to continue is that a previous instance of the same script should have terminated. But, inspite of the fact that the old instance has finished execution, the new instance still terminates. ... (3 Replies)
Discussion started by: puneetarora_12
3 Replies

2. Shell Programming and Scripting

checking count of files and exiting

Hi All Please see the script below for file in ${filelist }; do if ]; then if ]; then print " $(date) STEP 6 ------- Copying $file to $destpath" fi if ! cp $ftppath/$file $destpath 2> /dev/null; then writeToLog "ERROR: ${0##*/} - $upartition Could not copy file $file" if ]; then... (1 Reply)
Discussion started by: king007
1 Replies

3. Shell Programming and Scripting

Compare EDI files by skipping selected Segments

Hi, I wanted to compare EDI files present in Two different Directories which can be related by the file names. While comparing the EDI files i have to skip selected segments such as "ISA" "IEA" and "GS" "GE" since this may have datetime stamp and different "Sender" "Receiver" Qual. and... (3 Replies)
Discussion started by: Sivas
3 Replies

4. UNIX for Dummies Questions & Answers

How do I search while skipping folders?

I have a directory that contains some specific files. I want to find all the files and copy them to a different directory, however the files are in /dir1/dir2/dir3/filedir/archive. In ~/filedir contains about 100 directories that contains an archive directory where the files I need are. How can I... (6 Replies)
Discussion started by: bbbngowc
6 Replies

5. Shell Programming and Scripting

Find & Replace string in multiple files & folders using perl

find . -type f -name "*.sql" -print|xargs perl -i -pe 's/pattern/replaced/g' this is simple logic to find and replace in multiple files & folders Hope this helps. Thanks Zaheer (0 Replies)
Discussion started by: Zaheer.mic
0 Replies

6. UNIX for Dummies Questions & Answers

How to compare 2 files & get specific value & replace it in other file.

Hiiii Friends I have 2 files with huge data. I want to compare this 2 files & if they hav same set of vales in specific rows & columns i need to get that value from one file & replace it in other. For example: I have few set data of both files here: a.dat: PDE-W 2009 12 16 5 29 11.11 ... (10 Replies)
Discussion started by: reva
10 Replies

7. UNIX for Dummies Questions & Answers

Appending 2 files skipping the header of the second file

I have 2 files with the same header and need to append them and put the result in a 3rd file the 2 files has the same header and while appending i want to skip the second file header and need the result to be put in a third file Normally, this would work Cat file1 file2 >> file3....But how... (5 Replies)
Discussion started by: saggiboy10
5 Replies

8. Shell Programming and Scripting

Skipping rows based on columns

Hi, suppose I have the following file and certain rows have missing columns, how do i skip these rows and create an output file which has all the columns in it E/N Ko_exp %err Ko_calc %err diff diff- diff+ 0.95 ======== ======= ==== ======= ==== ===== ===== =====... (12 Replies)
Discussion started by: ramky79
12 Replies

9. Shell Programming and Scripting

Move only folders and skipping files

How do I move all folders and its contents from a directory A to another directory B, skipping all files in Directory A ? ---------- Post updated at 12:53 PM ---------- Previous update was at 12:42 PM ---------- Ok. Got it. mv /A/*/ /B/ (1 Reply)
Discussion started by: DHeisenberg
1 Replies

10. Shell Programming and Scripting

Compressing & removing files in a directory & subdirectory

Hi, I want a simple line of code that will compress files within a directory specified (parameter) and its subdirectories and also i want to remove files which are exactly 365 days old from the sysdate after this compression. Please help. Thanks, JD (8 Replies)
Discussion started by: Jesshelle David
8 Replies
cvslock(1)							   User Manuals 							cvslock(1)

NAME
cvslock - lock CVS repositories SYNOPSIS
cvslock [-q] [-p pid] [-d CVS root] [-R|-W] [-u|-s|-c Command] [-l] directory DESCRIPTION
cvslock is used to lock a tree starting at directory in your CVS repository during low-level manipulation or inspection. There are various modes of operation: You can use the -s or -c options to cause cvslock to spawn a sub-shell or a shell command from which you can safely access the source repository. You can also use cvslock to lock and unlock CVS repositories from shell scripts; in this case you'll want to use the -p option to specify the process ID which is written to the lock files' names. The default when given no options is to acquire a persistant read lock. OPTIONS
-q This option tells cvslock to shut up and not print any diagnostic messages to stdout. This is most useful when using the program in conjunction with, e.g., rsync(1). -p pid The CVS lock files generated by this utility have the current process ID in their name to distinguish them from lock files generated by other tools such as cvs itself or concurrent sessions of cvslock. Use this option to force cvslock to use a specific pid. This is in most useful from shell scripts. -d CVS root This optional argument tells cvslock where your CVS repository's root is. If no -d switch is given, cvslock will fall back to the CVSROOT environment variable. Note that cvslock only works on local repositories, so don't try to access pserver or rsh-accessible remote repositories this way. -R This switch tells cvslock to acquire a lock for safe reading of the repository. -W This switch tells cvslock to acquire a write lock on the repository. -s When invoked with this option, cvslock will invoke the user's login shell as determined by the SHELL environment variable after locking the repository. After the user has left that shell, cvslock will drop the locks. -c Command This option is similar to the -s option, with the difference that cvslock will execute the shell command given on the command line instead of giving the user an interactive shell. -u When given this option, cvslock will try to drop a previously created lock on the repository in question. Using this option together with the -s or -c options is an error. The use of -p is highly recommended in conjunction with this option! -l This option tells cvslock to lock only the directory specified. Normally it locks the entire directory hierarchy under the speci- fied directory. DIAGNOSTICS
cvslock spits out some diagnostics to the standard error stream. It's exit value is zero if and only if the locking operation requested by the user could be performed successfully. Note that no diagnostics about the exit value of commands executed through the -c switch are given. BUGS
The signal handling is not too well-tested and may be broken. If you try to create the same lock several times, you will get funny effects due to the error recovery cvslock tries to do. SEE ALSO
Version Management with CVS rsync(1), system(3), cvs(1) AUTHOR
cvslock was put together in a quick hacking session by Thomas Roessler <roessler@guug.de> and may be distributed under the terms of the GNU General Public License version 2. Unix October 1998 cvslock(1)
All times are GMT -4. The time now is 08:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy