'क्रोन' एक शेल स्क्रिप्ट को चलाएं जो कमांड चलाने से पहले पर्यावरण को सेट करता है।
हमेशा।
# @(#)$Id: crontab,v 4.2 2007/09/17 02:41:00 jleffler Exp $
# Crontab file for Home Directory for Jonathan Leffler (JL)
#-----------------------------------------------------------------------------
#Min Hour Day Month Weekday Command
#-----------------------------------------------------------------------------
0 * * * * /usr/bin/ksh /work1/jleffler/bin/Cron/hourly
1 1 * * * /usr/bin/ksh /work1/jleffler/bin/Cron/daily
23 1 * * 1-5 /usr/bin/ksh /work1/jleffler/bin/Cron/weekday
2 3 * * 0 /usr/bin/ksh /work1/jleffler/bin/Cron/weekly
21 3 1 * * /usr/bin/ksh /work1/jleffler/bin/Cron/monthly
~ / बिन / क्रोन में लिपियाँ सभी एक ही लिपि, 'रनक्रॉन' के लिंक हैं, जो इस प्रकार है:
: "$Id: runcron.sh,v 2.1 2001/02/27 00:53:22 jleffler Exp $"
#
# Commands to be performed by Cron (no debugging options)
# Set environment -- not done by cron (usually switches HOME)
. $HOME/.cronfile
base=`basename $0`
cmd=${REAL_HOME:-/real/home}/bin/$base
if [ ! -x $cmd ]
then cmd=${HOME}/bin/$base
fi
exec $cmd ${@:+"$@"}
(एक पुराने कोडिंग मानक का उपयोग करके लिखा गया है - आजकल, मैं शुरू में '#!' का उपयोग करूंगा।)
'~ / /। क्रोनफाइल' क्रोन द्वारा उपयोग के लिए मेरी प्रोफ़ाइल पर एक भिन्नता है - शोरगुल के लिए कड़ाई से गैर-संवादात्मक और कोई गूँज नहीं है। आप इसके बजाय .profile और इतने पर निष्पादित करने की व्यवस्था कर सकते हैं। (REAL_HOME सामान मेरे पर्यावरण का एक गुण है - आप दिखावा कर सकते हैं कि यह $ HOME जैसा है।)
इसलिए, यह कोड उपयुक्त वातावरण को पढ़ता है और फिर मेरे होम डायरेक्टरी से कमांड के गैर-क्रोन संस्करण को निष्पादित करता है। इसलिए, उदाहरण के लिए, मेरा 'कार्यदिवस' आदेश इस तरह दिखता है:
: "@(#)$Id: weekday.sh,v 1.10 2007/09/17 02:42:03 jleffler Exp $"
#
# Commands to be done each weekday
# Update ICSCOPE
n.updics
'दैनिक' कमांड सरल है:
: "@(#)$Id: daily.sh,v 1.5 1997/06/02 22:04:21 johnl Exp $"
#
# Commands to be done daily
# Nothing -- most things are done on weekdays only
exit 0