এখানে আরও একটি প্রকরণ যা আমি বহু বছর ধরে সফলভাবে ব্যবহার করেছি - আউটপুট ক্যাপচার করুন এবং এটি কেবল ত্রুটির ভিত্তিতে মুদ্রণ করুন , একটি ইমেল ট্রিগার করে। এর জন্য কোনও টেম্প ফাইলের প্রয়োজন নেই, এবং সমস্ত আউটপুট সংরক্ষণ করে । গুরুত্বপূর্ণ অংশটি যা 2>&1
STDERR কে STDOUT এ পুনঃনির্দেশ করে।
ডিফল্ট ক্রোন মেলার কনফিগারেশনের মাধ্যমে পুরো আউটপুট প্রেরণ করুন:
1 2 * * * root OUTPUT=`flexbackup -set all 2>&1` || echo "$OUTPUT"
একই তবে একটি নির্দিষ্ট ঠিকানা এবং বিষয় সহ:
( পুরো ক্রন্টব ফাইলের জন্য মাইলটো = এক্সএক্সএক্সএক্সএক্স সেট করে ঠিকানাও পরিবর্তন করা যেতে পারে )
1 2 * * * root OUTPUT=`flexbackup -set all 2>&1` || echo "$OUTPUT" | mail -s "Failed to backup" an@email.address
এমনকি আপনি ত্রুটিতে একাধিক ক্রিয়া সম্পাদন করতে এবং ইমেলটিতে যুক্ত করতে পারেন:
1 2 * * * root OUTPUT=`flexbackup -set all 2>&1` || {echo "$OUTPUT" ; ls -ltr /backup/dir ; }
এটি সাধারণ কমান্ডগুলির জন্য কাজ করবে। যদি আপনি জটিল পাইপ ( find / -type f | grep -v bla | tar something-or-other
) ব্যবহার করে থাকেন তবে কমান্ডটি স্ক্রিপ্টে স্থানান্তর করা এবং উল্লিখিত পদ্ধতির সাহায্যে স্ক্রিপ্টটি চালানো ভাল। কারণটি হ'ল যদি পাইপের কোনও অংশ STDERR এ আউটপুট দেয় তবে আপনি এখনও ইমেল পাবেন।