मेरे स्क्रिप्ट काम करता है अगर मैं इसे कमांड खोल पर सहभागी चलाएँ:जीएनयू समानांतर के साथ विफल "कमांड नहीं मिला" त्रुटि Crond
$ cat ndmpcopy_cron_parallel_svlinf05.bash
#!/usr/software/bin/bash
ndmpcopy_cron_parallel() {
timestamp=`date +%Y%m%d-%H%M`
LOG=/x/eng/itarchives/ndmpcopylogs/05_$1/ndmpcopy_status
TSLOG=${LOG}_$timestamp
src_filer='svlinf05'
src_account='ndmp'
src_passwd='src_passwd'
dst_svm='svlinfsrc'
dst_account='vsadmin-backup'
dst_passwd='dst_passwd'
host=`hostname`
echo $host
ssh -l root $src_filer "priv set -q diag ; ndmpcopy -sa $src_account:$src_passwd -da $dst_account:$dst_passwd -i $src_filer.eng.netapp.com:/vol/$1 10.56.10.161:/$dst_svm/$1" | tee -a $TSLOG
echo "ndmpcopy Completed: `date` "
}
export -f ndmpcopy_cron_parallel
/u/jsung/bin/parallel -j 0 --wd . --env ndmpcopy_cron_parallel --eta ndmpcopy_cron_parallel ::: local
लेकिन, स्क्रिप्ट में विफल रहा है और निर्यात समारोह शिकायत की, ndmpcopy_cron_parallel, नहीं पाया जा सकता है:
$ crontab -l
40 0,2,4,6,8,10,12,14,16,18,20,22 * * * /u/jsung/bin/ndmpcopy_cron_parallel_svlinf05.bash
त्रुटि:
Subject: Cron <[email protected]> /u/jsung/bin/ndmpcopy_cron_parallel_svlinf05.bash
Computers/CPU cores/Max jobs to run
1:local/2/1
Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
ETA: 0s Left: 1 AVG: 0.00s local:1/0/100%/0.0s **/bin/bash: ndmpcopy_cron_parallel: command not found**
ETA: 0s Left: 0 AVG: 0.00s local:0/1/100%/0.0s
मुझे चारों ओर खोजा गया है और थोड़ी देर के लिए अलग-अलग चीजों की कोशिश कर रहा है। मैंने $ पैथ भी tweaked। यकीन नहीं है कि मुझे क्या याद आया। क्या हम बीएसएचएच स्क्रिप्ट में जीएनयू समानांतर एम्बेड कर सकते हैं और क्रॉन्टाब में डाल सकते हैं?
कैसे '/ bin/bash' से अलग है '/ usr/सॉफ्टवेयर/bin/bash'? क्रॉन जॉब '/ bin/bash' का उपयोग कर प्रतीत होता है। क्या आपकी स्क्रिप्ट काम करती है जब '/ bin/bash' के साथ चलती है? –
दाएं। बहुत अंतर नहीं है।/usr/सॉफ्टवेयर/बिन वह जगह है जहां हमारी कंपनी उपयोगिताओं को स्टोर करती है।/बिन/बैश मेजबान के साथ डिफ़ॉल्ट स्थान है। $/bin/bash --version जीएनयू बैश, संस्करण 4.1.2 (1) -release (x86_64-redhat-लिनक्स GNU) कॉपीराइट (सी) 2009 फ्री सॉफ्टवेयर फाउंडेशन, Inc लाइसेंस GPLv3 +: जीएनयू जीपीएल संस्करण 3 या बाद में $/usr/software/bin/bash --version जीएनयू बैश, संस्करण 4.2.53 (1) -release (x86_64-अज्ञात -linux-gnu) कॉपीराइट (सी) 2011 फ्री सॉफ्टवेयर फाउंडेशन, इंक लाइसेंस जीपीएलवी 3 +: जीएनयू जीपीएल संस्करण 3 या बाद में –
jsung8
और क्या आप अपनी स्क्रिप्ट चला सकते हैं मैन्युअल रूप से '/ bin/bash'? (ऐसा लगता है जैसे इसे काम करना चाहिए।) मैं इस समान विधि के बजाय 'समानांतर' से परिचित नहीं हूं, क्या आप इसे स्क्रिप्ट चलाने के लिए प्राप्त कर सकते हैं (और उस फ़ंक्शन को स्क्रिप्ट में डाल सकते हैं)? –