Check if file is locked otherwise gzip it


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Check if file is locked otherwise gzip it
# 8  
Old 03-16-2013
Ok, this is the situation before the script starts from crontab:
Code:
-rw-r--r-- 1 root root  3128771 Mar 16 20:00 tcpdump_continuous_20130316_195558.cap.gz
-rw-r--r-- 1 root root  2802194 Mar 16 20:03 tcpdump_continuous_20130316_200012.cap.gz
-rw-r--r-- 1 root root  3018276 Mar 16 20:06 tcpdump_continuous_20130316_200335.cap.gz
-rw-r--r-- 1 root root 18641426 Mar 16 20:08 tcpdump_continuous_20130316_200606.cap
-rw-r--r-- 1 root root 18049102 Mar 16 20:11 tcpdump_continuous_20130316_200824.cap
-rw-r--r-- 1 root root 13959168 Mar 16 20:14 tcpdump_continuous_20130316_201132.cap

The last bold/red file is in use by tcpdump, but the script just gzip all the file even the one in use:
Code:
-rw-r--r-- 1 root root 3018276 Mar 16 20:06 tcpdump_continuous_20130316_200335.cap.gz
-rw-r--r-- 1 root root 3015096 Mar 16 20:08 tcpdump_continuous_20130316_200606.cap.gz
-rw-r--r-- 1 root root 3067111 Mar 16 20:11 tcpdump_continuous_20130316_200824.cap.gz
-rw-r--r-- 1 root root 2566943 Mar 16 20:15 tcpdump_continuous_20130316_201132.cap.gz

And this is the debug file:
Code:
# cat log.log 
ZIP the following file: /home/user/trace/tcpdump_continuous_20130316_200606.cap
ZIP the following file: /home/user/trace/tcpdump_continuous_20130316_200824.cap
ZIP the following file: /home/user/trace/tcpdump_continuous_20130316_201132.cap

Maybe tcpdump open a new file, but I've to test it. BTW, I don't understand why the script in root crontab doesn't work! Smilie
# 9  
Old 03-16-2013
The fuser version would become something like:

Code:
for file in /home/user/trace/tcpdump*.cap
do
  if [ -z "$(fuser -- "$file" 2>/dev/null)" ]; then
    gzip "$file"
  fi
done

# 10  
Old 03-16-2013
Thanks Scrutinizer,
this works too, but as always works on command line, but gzip all files if it starts from crontab. Smilie

Last edited by Lord Spectre; 03-16-2013 at 06:41 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to check the file locked or in use at FTP?

Hi Experts, I am beginner to shell scripting, I have a archive script which will connect to the FTP server and archive the files from FTP source location to FTP archive location. Now the problem here is, the script working for few files and not working for few.I am facing the below error... (1 Reply)
Discussion started by: spidy
1 Replies

2. Shell Programming and Scripting

How to kill the process when the file is locked?

I was trying to read the file to create a table in SAS and I got error as follows while I read. Resource is write-locked by another user. File =/usr/sas/sas_config/Lev1/SASApp/StoredProcessServ​er/Logs/SASApp_STPServer_2015-09-29_tmp_18208.log. System Error Code = 0. ERROR: File is in... (10 Replies)
Discussion started by: Ram Kumar_BE
10 Replies

3. UNIX for Advanced & Expert Users

gzip vs pipe gzip: produce different file size

Hi All, I have a random test file: test.txt, size: 146 $ ll test.txt $ 146 test.txt Take 1: $ cat test.txt | gzip > test.txt.gz $ ll test.txt.gz $ 124 test.txt.gz Take 2: $ gzip test.txt $ ll test.txt.gz $ 133 test.txt.gz As you can see, gzipping a file and piping into gzip... (1 Reply)
Discussion started by: hanfresco
1 Replies

4. Solaris

gzip a file and append creation date stamp to file

I want to gzip a file and append the creation date to the end of the file. How can I accomplish this task. Basically they are log files which need a creation date stamp appended to make sure they do not overwrite other log files. -jack (3 Replies)
Discussion started by: jacktravine
3 Replies

5. UNIX for Dummies Questions & Answers

find locked files, print file path, unlock file

using OS X and the Terminal, I'd like to find all locked files in a specified directory, unlock them, and print a list of those files that were unlocked how can I do this? I'm familiar with chflags nouchg for unlocking one file but not familiar with unix enough to do what I'd like. Thanks! (0 Replies)
Discussion started by: alternapop
0 Replies

6. UNIX for Advanced & Expert Users

How to list locked file in unix?

Hi, I want to list out all files which are lock by some process. ex- ~/critical I want to list all files in critical directory which has been locked. I need this very badly. Any suggestion highly appriciated. Regards, Ashok (1 Reply)
Discussion started by: ashokd001
1 Replies

7. Shell Programming and Scripting

checking whether a file is locked

hi Guys, I just wondering how I can check and ensure a file is not locked by another process. I need to modify a file using sed but I need to ensure that is not being modified by another process at the same time. Thanks. Harby. (2 Replies)
Discussion started by: hariza
2 Replies

8. Shell Programming and Scripting

Lock a file. AND Wait if file is locked

Hi, I want to do the foll steps: 1. Check if someone has a lock on my file1. 2. if file1 is locked by any other user wait in a loop till another user releases lock 3. when lock released, lock file1. 4. do procesing (write) on file1. 5. processing complete. release lock on file1. ... (2 Replies)
Discussion started by: sunil_neha
2 Replies

9. UNIX for Dummies Questions & Answers

How can a file be locked for a certain time?

I want to be able to lock a file for 60 minutes so that an automated monitoring program will not execute the script more that once an hour. I have never used a lock file but have heard that is what I need to use. Does anyone have any examples of how I would use this? lock 60 filename.ksh ---?... (6 Replies)
Discussion started by: darthur
6 Replies

10. UNIX for Dummies Questions & Answers

How do I send a file as an attachment (gzip file) on a Unix system

Hi, How do I send a file as an attachment (gzip file) on a Unix system ? Using sendmail. Please help me. :confused: (3 Replies)
Discussion started by: lacca
3 Replies
Login or Register to Ask a Question