Referring to post #1 (we'll ignore post #2).
The script contains a fundamental logic error. If there is more than one file matching the pattern *.pid the variable $PID contains multiple values. From that point on the script fails.
I'm not quite clear what you are trying to do here. Reading betweeen the lines, beware that deleting a ".pid" file will not stop the process with that Process ID.
The script needs restructuring to process each file in turn.
e.g.
Code:
#!/bin/bash
#
# Script to delete specific file older than N minutes.
# OLDERTHAN="40" #40 minutes
FOLDER="home/optima/pids/"
ls -1d "${FOLDER}"/*.pid 2>/dev/null | while read PID
do
OLDERTHAN="40"
if [ -e ${FOLDER}/${PID} ]
then
ls_time=`ls -l ${FOLDER}/$PID`
pid_h=`echo $ls_time | cut -d' ' -f8 | cut -d\: -f1`
pid_m=`echo $ls_time | cut -d' ' -f8 | cut -d\: -f2`
echo pid time=$pid_h:$pid_m
let pid_time=(10#$pid_h*60)+10#$pid_m
curr_h=`date | cut -d' ' -f4 | cut -d\: -f1`
curr_m=`date | cut -d' ' -f4 | cut -d\: -f2`
let curr_time=(10#$curr_h*60)+10#$curr_m
echo curr_time=`date | cut -d' ' -f4`
let diff=10#$curr_time-10#$pid_time
#echo pid_time=$pid_time
#echo curr_time=$curr_time
echo diff=$diff minutes
if [ $diff -ge $OLDERTHAN ]
then
echo "${PID} is older than $OLDERTHAN minutes"
echo "Deleting ${PID}..."
# Remove echo when thoroughly tested
echo rm -f ${FOLDER}/${PID}
else
echo -e "${PID} is not older than $OLDERTHAN minutes"
fi
else
echo -e "${PID} not found."
fi
done
Keep the "rm" line as an "echo" until you are happy that your script does what you want.
Noted zaxxon comments and corrected "cut" statements.
Noted that the "date" line could be better but didn't change it.
Last edited by methyl; 02-28-2011 at 08:40 AM..
Reason: layout correct cut syntax
question: for the below program
i just printed the value for pid, child pid and parent pid
why does it give me 6 values? i assume ppid is 28086
but can't figure out why there are 5 values printed instead of just two!
can someone comment on that!
#include<stdio.h>
#define DIM 8
int... (3 Replies)
1. If I use an software application(which connects to the database in the server) in my local pc, how many PID should be registered? Would there be PID for the session and another PID for socket connection?
2. I noticed (through netstat) that when I logged in using the my software application,... (1 Reply)
Many of my servers' /etc/group file have many userid's that does not exist in /etc/passwd file and they need to be deleted.
This happened due to manual manipulation of /etc/passwd files.
I need to do this for 40 servers.
Can anyone help me in achieving this? Even reducing a step or two will be... (6 Replies)
Hi Guys, I've got an system setup to act as an sftp server. I have a script that allows me to create chroot users running a custom shell within their home directory, it also creates a subdirectory that they can write into. I'm trying to write a script (that I can cron at a later date) that checks... (3 Replies)
Hi!
I would like to write a script which remove some files, all beginning with the same prefix :
prefix.1
doc/prefix.2
../prefix.3
etc.
So, I would create a file and chmod it executable. But I dont know how to pass a variable to a script. I would like to write something like
... (2 Replies)
Hello, beginner bash scripter here.. I was able to write a script and it works just fine. I'm just wondering if someone could chime in or any suggestions to make it cleaner or tighter so to speak. I have a disk to disk backup solution which uses 250GB disks. When one gets full I just po in a new... (7 Replies)
I found some posts describing how to completely clean out a mailbox in Unix/Linux. But I want to keep the 50 most recent messages. Any ideas out there?
Thanks! (3 Replies)
I needed some help with a script to fetch and delete all records prior to 3 days from now connecting to sybase from sunos. I wrote the following script but not working..can someone please guide me with my code.
Thanks
#!/bin/ksh
##GET PREVIOUS DAY DATE
dt=`date | awk... (3 Replies)
I need help with sed and awk scripts to search for Symmetrix ID=000090009902 and then grep its child disk devices associated to the dead paths and display them only, so that those dead devices can be removed.
test01:/#powermt display dev=all
Pseudo name=hdiskpower0
Symmetrix ID=000090009902... (0 Replies)
Hello,
I need some help from unix guru's here..I am looking for some advanced level script to cleanup the directories and files from specific directories under a file system..
The folders are created under /opt/modules
And under modules, there are multiple subfolders with the application... (6 Replies)
Discussion started by: mb525
6 Replies
LEARN ABOUT PHP
wordwrap
WORDWRAP(3) 1 WORDWRAP(3)wordwrap - Wraps a string to a given number of charactersSYNOPSIS
string wordwrap (string $str, [int $width = 75], [string $break = "0], [bool $cut = false])
DESCRIPTION
Wraps a string to a given number of characters using a string break character.
PARAMETERS
o $str
- The input string.
o $width
- The number of characters at which the string will be wrapped.
o $break
- The line is broken using the optional $break parameter.
o $cut
- If the $cut is set to TRUE, the string is always wrapped at or before the specified $width. So if you have a word that is larger
than the given width, it is broken apart. (See second example). When FALSE the function does not split the word even if the $width
is smaller than the word width.
RETURN VALUES
Returns the given string wrapped at the specified length.
EXAMPLES
Example #1
wordwrap(3) example
<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />
");
echo $newtext;
?>
The above example will output:
The quick brown fox<br />
jumped over the lazy<br />
dog.
Example #2
wordwrap(3) example
<?php
$text = "A very long woooooooooooord.";
$newtext = wordwrap($text, 8, "
", true);
echo "$newtext
";
?>
The above example will output:
A very
long
wooooooo
ooooord.
Example #3
wordwrap(3) example
<?php
$text = "A very long woooooooooooooooooord. and something";
$newtext = wordwrap($text, 8, "
", false);
echo "$newtext
";
?>
The above example will output:
A very
long
woooooooooooooooooord.
and
something
SEE ALSO nl2br(3), chunk_split(3).
PHP Documentation Group WORDWRAP(3)