Sponsored Content
Top Forums Shell Programming and Scripting File checking script need help Post 302612919 by ken002 on Monday 26th of March 2012 12:37:52 PM
Old 03-26-2012
Quote:
Originally Posted by Corona688
These lines will check the file daily at noon, on days between the 5th and the 7th when put in your crontab(edit it via crontab -e):

Code:
# Do something if /path/to/file exists
0 12 5,6,7 * * [ -f /path/to/file ] && do_something
# Do something if /path/to/file does not exist
0 12 5,6,7 * * [ -f /path/to/file ] || do_something_else

In general, cron lines work like
Code:
              field          allowed values
              -----          --------------
              minute         0-59
              hour           0-23
              day of month   1-31
              month          0-12 
              day of week    0-7 (0 or 7 is Sun)

...and the last field is the shell script(bourne shell, not csh) to be run.

See man 5 crontab for details on the crontab file.
Thanks for your quick replay,

Unfortunately, My sys admin does not want to use cron job to do this, I have to using script to check this. do you have any idea about using script to check it?
ken002
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Simple file checking script

Hi, I have a really, what I hope is, simple question. I'm looking for a simple way to see whether a file exists or not and then perform an action based on whether it exists or not. An example of what I tried is as follows: if then { echo "File mysql exists" ... (1 Reply)
Discussion started by: _Spare_Ribs_
1 Replies

2. Shell Programming and Scripting

.sh file syntax checking script

This isn't a question--its a solution! Below is a script that I wrote for my own script file development which does what the title says. Its the closest that you can get to compiling what are otherwise purely interpreted script files. I offer it here simply for the benefit of anyone else writing... (12 Replies)
Discussion started by: fabulous2
12 Replies

3. Shell Programming and Scripting

Script for checking and reporting file sizes in a directory.

Hi, Need help for a Script for checking and reporting database file sizes in a directory. Request you to please give your valuable inputs. Thanks a lot in advance. Best Regards, Marconi (1 Reply)
Discussion started by: marconi
1 Replies

4. UNIX for Dummies Questions & Answers

Checking file sizes in script

Hi, I'm trying to check a filesize within a script and then excute a relevant action. An example is below: if then rm $filename rm $filename2 elif then rm $filename2 fi Basically if $filename2 has a filesize of 0 then I want both files to be removed, but... (6 Replies)
Discussion started by: chris01010
6 Replies

5. Shell Programming and Scripting

How to write shell script for input file name format checking?

Hello, I had written a shell script that accepts input file as cmd line argument and process this file. if ; then if ; then . $1 LOGFILE="$LOG_FILE/MIG_BIOS.log"; get_input_file else ERROR_CODE=MSCRM0005_003 error "$ERROR_CODE : Input file $1 is not available"; exit... (3 Replies)
Discussion started by: Poonamol
3 Replies

6. Shell Programming and Scripting

Script check for file, alert if not there, and continue checking until file arrives

All, Is there a way to keep checking for a file over and over again in the same script for an interval of time? Ie If { mail -user continue checking until file arrives file arrives tasks exit I don't want the script to run each time and email the user each time a file... (4 Replies)
Discussion started by: markdjones82
4 Replies

7. Shell Programming and Scripting

Help with script checking for a file in various servers

I am trying to write a script that checks whether or not, a file exists on multiple servers. My code / logic so far is: #!/usr/bin/ksh print "Enter File name to be checked" read MYFILE ssh server1 " cd /var/opt/logs ; if then ... (4 Replies)
Discussion started by: momin
4 Replies

8. Shell Programming and Scripting

Shell Script for continuously checking status of a another script running in background, and immedia

Hi, I want to write a script which continuously checking status of a script running in background by nohup command. And if same script is not running then immediately start the script...please help.. i am using below command to run script nohup system_traps.sh & but in some... (9 Replies)
Discussion started by: ketanraut
9 Replies

9. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

10. Shell Programming and Scripting

Command script for checking a file existence

Hello, I have a directory where sometimes appear a certain file name - and I'd like to be notified by email when that happens... so what command or script I may use? e.g. if there's a file named "adam" in the directory named "dir1" then send a mail to "abc@abc.com".. it needs to permanently... (5 Replies)
Discussion started by: netrom
5 Replies
crontab(1)																crontab(1)

NAME
crontab - user crontab file SYNOPSIS
crontab [filename] crontab [-elr username] The crontab utility manages a user's access with cron (see cron(1M)) by copying, creating, listing, and removing crontab files. If invoked without options, crontab copies the specified file, or the standard input if no file is specified, into a directory that holds all users' crontabs. If crontab is invoked with filename, this overwrites an existing crontab entry for the user that invokes it. crontab Access Control Users: Access to crontab is allowed: o if the user's name appears in /etc/cron.d/cron.allow. o if /etc/cron.d/cron.allow does not exist and the user's name is not in /etc/cron.d/cron.deny. Users: Access to crontab is denied: o if /etc/cron.d/cron.allow exists and the user's name is not in it. o if /etc/cron.d/cron.allow does not exist and user's name is in /etc/cron.d/cron.deny. o if neither file exists, only a user with the solaris.jobs.user authorization is allowed to submit a job. o if BSM audit is enabled, the user's shell is not audited and the user is not the crontab owner. This can occur if the user logs in by way of a program, such as some versions of SSH, which does not set audit parameters. The rules for allow and deny apply to root only if the allow/deny files exist. The allow/deny files consist of one user name per line. crontab Entry Format A crontab file consists of lines of six fields each. The fields are separated by spaces or tabs. The first five are integer patterns that specify the following: minute (0-59), hour (0-23), day of the month (1-31), month of the year (1-12), day of the week (0-6 with 0=Sunday). Each of these patterns can be either an asterisk (meaning all legal values) or a list of elements separated by commas. An element is either a number or two numbers separated by a minus sign (meaning an inclusive range). Time specified here is interpreted in the timezone of the cron(1M) daemon, which is set system-wide in /etc/default/init. Entries do not use the invoking user's timezone. The specification of days can be made by two fields (day of the month and day of the week). Both are adhered to if specified as a list of elements. See . The sixth field of a line in a crontab file is a string that is executed by the shell at the specified times. A percent character in this field (unless escaped by ) is translated to a NEWLINE character. Only the first line (up to a `%' or end of line) of the command field is executed by the shell. Other lines are made available to the com- mand as standard input. Any blank line or line beginning with a `#' is a comment and is ignored. The shell is invoked from your $HOME directory with an arg0 of sh. Users who desire to have their .profile executed must explicitly do so in the crontab file. cron supplies a default environment for every shell, defining HOME, LOGNAME, SHELL(=/bin/sh), TZ, and PATH. The default PATH for user cron jobs is /usr/bin; while root cron jobs default to /usr/sbin:/usr/bin. The default PATH can be set in /etc/default/cron (see cron(1M)). If you do not redirect the standard output and standard error of your commands, any generated output or errors are mailed to you. Setting cron Jobs Across Timezones The timezone of the cron daemon sets the system-wide timezone for cron entries. This, in turn, is by set by default system-wide using /etc/default/init. If some form of daylight savings or summer/winter time is in effect, then jobs scheduled during the switchover period could be executed once, twice, or not at all. The following options are supported: -e Edits a copy of the current user's crontab file, or creates an empty file to edit if crontab does not exist. When editing is com- plete, the file is installed as the user's crontab file. If a username is given, the specified user's crontab file is edited, rather than the current user's crontab file; this can only be done by a user with the solaris.jobs.admin authorization. The envi- ronment variable EDITOR determines which editor is invoked with the -e option. The default editor is ed(1). All crontab jobs should be submitted using crontab. Do not add jobs by just editing the crontab file, because cron is not aware of changes made this way. If all lines in the crontab file are deleted, the old crontab file is restored. The correct way to delete all lines is to remove the crontab file using the -r option. -l Lists the crontab file for the invoking user. Only a user with the solaris.jobs.admin authorization can specify a username follow- ing the -r or -l options to remove or list the crontab file of the specified user. -r Removes a user's crontab from the crontab directory. Example 1: Cleaning up Core Files This example cleans up core files every weekday morning at 3:15 am: 15 3 * * 1-5 find $HOME -name core 2>/dev/null | xargs rm -f Example 2: Mailing a Birthday Greeting 0 12 14 2 * mailx john%Happy Birthday!%Time for lunch. Example 3: Specifying Days of the Month and Week This example 0 0 1,15 * 1 would run a command on the first and fifteenth of each month, as well as on every Monday. To specify days by only one field, the other field should be set to *. For example: 0 0 * * 1 would run a command only on Mondays. See environ(5) for descriptions of the following environment variables that affect the execution of crontab: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH. EDITOR Determine the editor to be invoked when the -e option is specified. This is overriden by the VISUAL environmental variable. The default editor is ed(1). VISUAL Determine the visual editor to be invoked when the -e option is specified. If VISUAL is not specified, then the environment variable EDITOR is used. If that is not set, the default is ed(1). The following exit values are returned: 0 Successful completion. >0 An error occurred. /etc/cron.d main cron directory /etc/cron.d/cron.allow list of allowed users /etc/default/cron contains cron default settings /etc/cron.d/cron.deny list of denied users /var/cron/log accounting information /var/spool/cron/crontabs spool area for crontab See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ atq(1), atrm(1), auths(1), ed(1), sh(1), vi(1), cron(1M), su(1M), auth_attr(4), attributes(5), environ(5), standards(5) If you inadvertently enter the crontab command with no arguments, do not attempt to get out with Control-d. This removes all entries in your crontab file. Instead, exit with Control-c. If an authorized user modifies another user's crontab file, resulting behavior can be unpredictable. Instead, the super-user should first use su(1M) to become super-user to the other user's login before making any changes to the crontab file. When updating cron, check first for existing crontab entries that can be scheduled close to the time of the update. Such entries can be lost if the update process completes after the scheduled event. This can happen because, when cron is notified by crontab to update the internal view of a user's crontab file, it first removes the user's existing internal crontab and any internal scheduled events. Then it reads the new crontab file and rebuilds the internal crontab and events. This last step takes time, especially with a large crontab file, and can complete after an existing crontab entry is scheduled to run if it is scheduled too close to the update. To be safe, start a new job at least 60 seconds after the current date and time. 10 Aug 2005 crontab(1)
All times are GMT -4. The time now is 04:01 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy