originally it was written on AIX and is working fine then had to moved the to same script to Linux. basically the goal of the script is to find a file that is days old depending on the parameter.
here is the output using this command sh -xv rmAgingFile.sh file*.log 2
Code:
p1=$1
+ p1=file_1.log
pday=$2
+ pday=file_2.log
vdir=`pwd`
pwd
++ pwd
+ vdir=/sbin/scripts
vhomedir=`pwd`
pwd
++ pwd
+ vhomedir=/sbin/scripts
vctr=0
+ vctr=0
# check for null parameter
if [ $# -lt 1 ]; then
echo current directory $vdir
echo no parameter entered
echo
else
#check for directory entry only
if [ -d $p1 ]; then
vdir=$p1
echo current directory $vdir
cd $vdir
echo no file parameter entered
echo
#check for directory entry and file
elif [ -f $p1 ]; then
vdir=`dirname $p1`
echo current directory $vdir
cd $vdir
for f in $1
do
vfile=`basename $f`
#for i in `find $vdir -name "$vfile" -mtime +$pday`
#ommit the subdirectories in the searcch
for i in `find . ! -name . -prune -type f -name "$vfile" -daystart -mtime +$pday`
do
let vctr=$vctr+1
vfile=`basename $i`
echo deleting aging files $vfile
rm $vfile
done
done
if [ $vctr -eq 0 ]; then
echo "no aging files found that are $pday days old"
fi
else
echo $p1 not found
fi
fi
+ '[' 3 -lt 1 ']'
+ '[' -d file_1.log ']'
+ '[' -f file_1.log ']'
dirname $p1
++ dirname file_1.log
+ vdir=.
+ echo current directory .
current directory .
+ cd .
+ for f in '$1'
basename $f
++ basename file_1.log
+ vfile=file_1.log
find . ! -name . -prune -type f -name "$vfile" -daystart -mtime +$pday
++ find . '!' -name . -prune -type f -name file_1.log -daystart -mtime +file_2.log
find: missing argument to `-mtime'
+ '[' 0 -eq 0 ']'
+ echo 'no aging files found that are file_2.log days old'
no aging files found that are file_2.log days old
#return the cursor to the home directory
cd $vhomedir
+ cd /sbin/scripts
# put a white space
echo
+ echo
If I use the find command to find files older than n days I have to enter
find . -mtime +(n-1). I tried this on a Solaris 9 system and also Linux. Is this something that all Unix veterans know about (I'm new to Unix)? If so, maybe my man pages need to be updated (how to do this?). :confused: (4 Replies)
...what am i doing wrong??
I need to find all files older than 30 days and delete but I can't get it to pull details for ANY + times. The file below has a time stamp which is older than 1 day, however if I try and select it using any of the -time flags it just doesn't see it. (the same thing... (1 Reply)
Hi
I've made some test with perl script to learn more about mtime...
So, my question is :
Why the mtime from findfind /usr/local/sbin -ctime -1 -mtime -1 \( -name "*.log" -o -name "*.gz" \) -print are not the same as mtime from unix/linux in ls -ltr or in stat() function in perl : stat -... (2 Replies)
Hi guys, I am looking for a way of moving all files out of a directory with a time stamp greater then the one I specify. Can anyone suggest a way of doing so?
For example, move all files out of dir1 which were created after 17:00 into dir2.
Thanks :) (1 Reply)
Hi, so I was using mtime and its not behaving the way I would think its supposed too. I have two pdf files. One modified today and another 6 months ago. I upload them to the solaris server. Then I run the below find statements.
This finds my 2 files
find *.pdf -type f -name '*.pdf'
this finds... (2 Replies)
Hi Friends,
Please help me to sort out this problem, I am running this in centos o/s and whenever I run this script I am getting "find: missing argument to `-exec' " but when I run the same code in the command line I didn't find any problem. I am using perl script to run this ... (2 Replies)
Hi,
I'm trying to find all files that have a .ksh and .p extension and that are 7 days old by using the below find command but it doesn't seem to as expected. It gives me random results.. Can someone point out what may be wrong?
find . -name "*.ksh" -o -name "*.p" -mtime -7 (2 Replies)
I am trying to execute the cli.sh script in another shell script passing arguments and getting the below error.
Myscript.sh
#!/bin/sh
/home/runAJobCli/cli.sh runAJobCli -n $Taskname -t $Tasktype
I am passing the below 2 arguments and it giving error
./Myscript.sh T_SAMPLE_TEST MTT... (11 Replies)
Discussion started by: Info_Geek
11 Replies
LEARN ABOUT PHP
mssql_field_seek
MSSQL_FIELD_SEEK(3)MSSQL_FIELD_SEEK(3)mssql_field_seek - Seeks to the specified field offsetSYNOPSIS
bool mssql_field_seek (resource $result, int $field_offset)
DESCRIPTION
Seeks to the specified field offset. If the next call to mssql_fetch_field(3) won't include a field offset, this field would be returned.
PARAMETERS
o $result
- The result resource that is being evaluated. This result comes from a call to mssql_query(3).
o $field_offset
- The field offset, starts at 0.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
EXAMPLES
Example #1
Using mssql_field_seek(3) on the example for mssql_fetch_field(3)
<?php
// Connect to MSSQL and select the database
mssql_connect('MANGOSQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');
// Send a select query to MSSQL
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');
// Construct table
echo '<h3>Table structure for 'persons'</h3>';
echo '<table border="1">';
// Table header
echo '<thead>';
echo '<tr>';
echo '<td>Field name</td>';
echo '<td>Data type</td>';
echo '<td>Max length</td>';
echo '</tr>';
echo '</thead>';
// Dump all fields
echo '<tbody>';
for ($i = 0; $i < mssql_num_fields($query); ++$i) {
// Fetch the field information, notice the
// field_offset parameter is not set. See
// the mssql_field_seek call below
$field = mssql_fetch_field($query);
// Print the row
echo '<tr>';
echo '<td>' . $field->name . '</td>';
echo '<td>' . strtoupper($field->type) . '</td>';
echo '<td>' . $field->max_length . '</td>';
echo '</tr>';
// Move the internal seek pointer to the next
// row in the result set
mssql_field_seek($query, $i + 1);
}
echo '</tbody>';
echo '</table>';
// Free the query result
mssql_free_result($query);
?>
SEE ALSO mssql_fetch_field(3).
PHP Documentation Group MSSQL_FIELD_SEEK(3)