एक साधारण AWS सीएलआई बैकअप स्क्रिप्ट चलाने की कोशिश कर रहा है। यह एक शामिल फ़ाइल में लाइनों के माध्यम से छोरों, उन रास्तों को S3 तक बैक करता है, और आउटपुट को लॉग फ़ाइल में डंप करता है। जब मैं इस कमांड को सीधे चलाता हूं, तो यह बिना किसी त्रुटि के चलता है। जब मैं इसे CRON के माध्यम से चलाता हूं तो मुझे अपने आउटपुट लॉग में "क्रेडेंशियल्स का पता लगाने में असमर्थ" त्रुटि मिलती है।
शेल स्क्रिप्ट:
AWS_CONFIG_FILE="~/.aws/config"
while read p; do
/usr/local/bin/aws s3 cp $p s3://PATH/TO/BUCKET --recursive >> /PATH/TO/LOG 2>&1
done </PATH/TO/INCLUDE/include.txt
मैंने केवल त्रुटि फ़ाइल को देखने के बाद मुझे कॉन्फ़िगर करने के लिए लाइन को जोड़ा, यह सोचकर इसे ठीक कर सकता है (भले ही मुझे पूरा यकीन है कि एडब्ल्यूएस डिफ़ॉल्ट रूप से दिखता है)।
शैल लिपि जड़ के रूप में चल रही है। मैं निर्दिष्ट स्थान पर AWS कॉन्फिग फ़ाइल देख सकता हूँ। और यह सब मुझे अच्छा लगता है (जैसे मैंने कहा, यह CRON के बाहर ठीक चलता है)।
~/.aws/config
।