मैं समानांतर rsync प्रक्रिया शुरू करने के लिए एक स्क्रिप्ट बनाया था कैसे बाहर निकलें कोड प्राप्त करने के:जब xargs का उपयोग कर (समानांतर)
#! /bin/bash
LIST=$1
DEST_DIR=$2
RSYNC_OPTS=$3
#echo "rsyncing From=$SRC_DIR To=$DEST_DIR RSYNC_OPTS=$RSYNC_OPTS"
echo $LIST|xargs -n1 -d, echo|xargs -n1 -P 0 -I% rsync --rsync-path='sudo rsync' ${RSYNC_OPTS} % ${DEST_DIR}
फिर, मैं rsync प्रक्रिया के निकास स्थिति पाने के लिए समस्या है। मुझे पता है कि पाइपस्टैटस की एक सरणी प्राप्त करना संभव है, लेकिन मुझे यह जानने के लिए बाहर निकलने के कोड को पकड़ने की आवश्यकता है कि rsync सफलतापूर्वक बनाया गया था या नहीं।
कोई भी जानता है?
आपने पहले ही '$ PIPESTATUS' का उल्लेख किया है:' $ {PIPESTATUS [2]} 'में दूसरे 'xargs' कमांड की निकास स्थिति होगी। यह 123 होगा यदि 'rsync' 1-125 की स्थिति से बाहर निकला है (यहां बाहर निकलें स्थिति अनुभाग देखें: http://unixhelp.ed.ac.uk/CGI/man-cgi?xargs) –
हाय जोश, धन्यवाद तुम्हारा जवाब। फिर भी, मुझे rysnc के निकास कोड की आवश्यकता है, न कि xargs निकास कोड। ऐसा कुछ: http://wpkg.org/Rsync_exit_codes – bLuEdDy
सुनिश्चित नहीं है कि आप इस तरह के xargs का उपयोग कर rsync की विशिष्ट निकास स्थिति प्राप्त करने में सक्षम होंगे, इसे xargs द्वारा मुखौटा किया जाएगा। शायद आप '$ LIST' के माध्यम से लूप कर सकते हैं? –