Sponsored Content
Top Forums Shell Programming and Scripting bash: checking file size -solved Post 302395055 by moskovets on Monday 15th of February 2010 05:55:24 AM
Old 02-15-2010
Lightbulb bash: checking file size -solved

Hello
I have srv RHEL5, file system UTDM (EMC DiskXtender Unix/Linux File System Manager 3.5 & EMC Centera).
it all works under the scheme: have disk is formatted with a file system UTDM, drive open network - NFS, it write data, then migrate the data in the repository - EMC Centera.
There are utility/commands that work with this disk to the migration and purification.
for backup of the disk I written file and planned CRON:

Code:
#!/bin/bash
#start script clear file system UTDM-P
. /opt/fsm/etc/fsm.profile
ARCH_FSM_NAMEDATA=`date +"%Y-%m-%d"`
echo "`date +"%H:%M:%S"` - start script"
echo "`date +"%H:%M:%S"` - start migration files & purge file  system..."
migout /UTDM-P/*
purge /UTDM-P/*
echo "`date +"%H:%M:%S"` - purge file system successfully!"
echo "Free space: `df -h /UTDM-P|tail -n1`"
echo "`date +"%H:%M:%S"` - write meta data files in the tarfile from the  UTDM fs..."
cd /UTDM-P && dxuldm_tar --exclude=.DMATTR -cvf  /backup/arch_UTDM_fsm/fsm_UTDM-P_$ARCH_FSM_NAMEDATA.tar . >>  /backup/arch_logs/archive_$ARCH_FSM_NAMEDATA.log
if [[ $? -gt 0 ]];then
echo "`date +"%H:%M:%S"` - write meta data files in the tarfile aborted.  backup failed."
exit 1
fi
echo "`date +"%H:%M:%S"` - All operations completed successfully!"
exit 0

I am interested in is what
I am printing a list -
Code:
# ls -s /UTDM-P
0 test1.file
0 test2.file
0 test3.file
0 test4.file
0 test5.file
0 test6.file
0 test7.file
16 lost+found

do check on the first data (excluding directory lost+found)

Code:
if
0 test2.file
0 test3.file
345 test4.file
0 test5.file

then the work stops

please help realizeSmilie

---------- Post updated 15-02-10 at 12:55 PM ---------- Previous update was 14-02-10 at 08:42 PM ----------

agreed!

Code:
#!/bin/bash
#start script clear file system UTDM-P
echo "`date +"%H:%M:%S"` - start script"
echo "`date +"%H:%M:%S"` - start migration files and purge files system..."
migout /UTDM-P/*.ARCHIVE && purge /UTDM-P/*.ARCHIVE
echo "`date +"%H:%M:%S"` - check files system..."
SIZE=`ls -ls /UTDM-P/*.ARCHIVE |grep -v "^d" | awk '{a+=$1} END{print a}'`
if [ "$SIZE" -gt 0 ];then
echo "`date +"%H:%M:%S"` - check files system finish -> migration and purge failed."
exit 1
fi
echo "`date +"%H:%M:%S"` - All operations completed successfully!"

all thanksSmilie

Last edited by moskovets; 02-15-2010 at 08:27 AM.. Reason: code tags, please...
moskovets
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Checking file size

What is the best way to check the size of a file? We have a problem with our repository growing to an unmanageable size. If it is greater than 17000000 then I'd like to send a warning to our system administrators. (2 Replies)
Discussion started by: jkuchar747
2 Replies

2. Shell Programming and Scripting

Help with checking file size

I need to check the size of a log file. If the size is anything but zero, I need to send an email. I'm using this syntax: SIZE=0 VAR1=`wc -c $DIRNAME/$FILENAME1 | awk -F" " '{print $1}' ` echo $VAR1 if then do something such as send an email fi I know that the file is indeed... (15 Replies)
Discussion started by: ssmith001
15 Replies

3. Shell Programming and Scripting

checking size of the first line in a log file

Hi My test.log file looks like this: 0 190_GSTV_HUX_003QISCGSK026_error070322_115331917.log 34 190_GSTV_HUX_003QISCGSK026_error070117_151311385.log 12 190_GSTV_HUX_003QISCGSK026_error070117_151230001.log 2 190_GSTV_HUX_003QISCGSK026_error070117_101010001.log 0... (19 Replies)
Discussion started by: kiran1112
19 Replies

4. Shell Programming and Scripting

Error checking a file from previous file size

Hi, I'm currently trying to write a script that checks a log file for certain errors. Once checked it then records the filesize in another file. All this is fine, my problem is that the next time I do my error check I only want to check from previously recorded filesize to the end of file. I'm... (2 Replies)
Discussion started by: stuck1
2 Replies

5. Shell Programming and Scripting

Multiple file existence and checking file size

I want to check the files in particular directory are more that 0 Bytes i.e, Non zero byte file. The script should print a msg if all the files in that directory are empty( 0 Byte). (2 Replies)
Discussion started by: lathish
2 Replies

6. UNIX for Dummies Questions & Answers

checking directory size in the text file

Hi All, I am new to unix scripting, please help me in completing this exercise, I have a scenario as follows, 1. i have a text file(snapshot.txt) consisting of directory names, and file size separated by comma as shown below: snapshot.txt data: ... (1 Reply)
Discussion started by: G.K.K
1 Replies

7. Shell Programming and Scripting

Checking the size of a file after FTP

Hi I am doing a FTP process through which I am copying a file from my local server to Remote server. After this I want to check the size of the file Below is my program: LOCALDIR=/batch/ediprocess REMOTESERVER=test.appl.com REMOTEPATH=batch/ftpTest LOGIN=px PASSWORD=abcd ftp -n... (3 Replies)
Discussion started by: shanth_chandra
3 Replies

8. Red Hat

Checking File size

Hi Team, I am a new bie to unix and want to check a directory for a files with extension *.doc exceeding a specific file size limit,and will give me a buffer ooutput as below I used below command, find . -name \*.doc -size +3k -printf "|%p |%k KB" which resulted as, ./ABC_sw_high.doc ... (1 Reply)
Discussion started by: lisha.ahuja
1 Replies

9. UNIX for Dummies Questions & Answers

Checking for File Size

HI , How can I check if a file exists in a particular folder and it exists it size in greater than 0 kb. Basically I am trying to write a script which will check if a file exists and if exists then it size is greater than 0 bytes (I am not looking for empty files it should have some data... (3 Replies)
Discussion started by: wangkc
3 Replies

10. Homework & Coursework Questions

bash error checking problems[solved]

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I am trying to make a script called showtime that displays the current time for a given city. The problem is on... (6 Replies)
Discussion started by: kevin298
6 Replies
CMDTEST(1)						      General Commands Manual							CMDTEST(1)

NAME
cmdtest - blackbox testing of Unix command line tools SYNOPSIS
cmdtest [-c=COMMAND] [--command=COMMAND] [--config=FILE] [--dump-config] [--dump-memory-profile=METHOD] [--dump-setting-names] [--generate-manpage=TEMPLATE] [-h] [--help] [-k] [--keep] [--list-config-files] [--log=FILE] [--log-keep=N] [--log-level=LEVEL] [--log-max=SIZE] [--no-default-configs] [--output=FILE] [-t=TEST] [--test=TEST] [--timings] [--version] [FILE]... DESCRIPTION
cmdtest black box tests Unix command line tools. Given some test scripts, their inputs, and expected outputs, it verifies that the command line produces the expected output. If not, it reports problems, and shows the differences. Each test case foo consists of the following files: foo.script a script to run the test (this is required) foo.stdin the file fed to standard input foo.stdout the expected output to the standard output foo.stderr the expected output to the standard error foo.exit the expected exit code foo.setup a shell script to run before the test foo.teardown a shell script to run after test Usually, a single test is not enough. All tests are put into the same directory, and they may share some setup and teardown code: setup-once a shell script to run once, before any tests setup a shell script to run before each test teardown a shell script to run after each test teardown-once a shell script to run once, after all tests cmdtest is given the name of the directory with all the tests, or several such directories, and it does the following: o execute setup-once o for each test case (unique prefix foo): -- execute setup -- execute foo.setup -- execute the command, by running foo.script, and redirecting standard input to come from foo.stdin, and capturing standard output and error and exit codes -- execute foo.teardown -- execute teardown -- report result of test: does exit code match foo.exit, standard output match foo.stdout, and standard error match foo.stderr? o execute teardown-once Except for foo.script, all of these files are optional. If a setup or teardown script is missing, it is simply not executed. If one of the standard input, output, or error files is missing, it is treated as if it were empty. If the exit code file is missing, it is treated as if it specified an exit code of zero. The shell scripts may use the following environment variables: DATADIR a temporary directory where files may be created by the test TESTNAME name of the current test (will be empty for setup-once and teardown-once) SRCDIR directory from which cmdtest was launched OPTIONS
-c, --command=COMMAND ignored for backwards compatibility --config=FILE add FILE to config files --dump-config write out the entire current configuration --dump-memory-profile=METHOD make memory profiling dumps using METHOD, which is one of: none, simple, meliae, or heapy (default: simple) --dump-setting-names write out all names of settings and quit --generate-manpage=TEMPLATE fill in manual page TEMPLATE -h, --help show this help message and exit -k, --keep keep temporary data on failure --list-config-files list all possible config files --log=FILE write log entries to FILE (default is to not write log files at all); use "syslog" to log to system log --log-keep=N keep last N logs (10) --log-level=LEVEL log at LEVEL, one of debug, info, warning, error, critical, fatal (default: debug) --log-max=SIZE rotate logs larger than SIZE, zero for never (default: 0) --no-default-configs clear list of configuration files to read --output=FILE write output to FILE, instead of standard output -t, --test=TEST run only TEST (can be given many times) --timings report how long each test takes --version show program's version number and exit EXAMPLE
To test that the echo(1) command outputs the expected string, create a file called echo-tests/hello.script containing the following con- tent: #!/bin/sh echo hello, world Also create the file echo-tests/hello.stdout containing: hello, world Then you can run the tests: $ cmdtest echo-tests test 1/1 1/1 tests OK, 0 failures If you change the stdout file to be something else, cmdtest will report the differences: $ cmdtest echo-tests FAIL: hello: stdout diff: --- echo-tests/hello.stdout 2011-09-11 19:14:47 +0100 +++ echo-tests/hello.stdout-actual 2011-09-11 19:14:49 +0100 @@ -1 +1 @@ -something else +hello, world test 1/1 0/1 tests OK, 1 failures Furthermore, the echo-tests directory will contain the actual output files, and diffs from the expected files. If one of the actual output files is actually correct, you can actualy rename it to be the expected file. Actually, that's a very convenient way of creating the ex- pected output files: you run the test, fixing things, until you've manually checked the actual output is correct, then you rename the file. SEE ALSO
cliapp(5). CMDTEST(1)
All times are GMT -4. The time now is 08:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy