/etc/cron.daily/foo: মূলের পরিবর্তে কোনও নির্দিষ্ট ব্যবহারকারীর ইমেল পাঠাবেন?


13

আমি সেন্টোস 5.5 চালাচ্ছি।

আমাদের বেশিরভাগ ক্রোনজবস /etc/cron.daily/ এ সঞ্চিত আছে। আমরা এই ক্রোনজগুলির কয়েকটি নির্দিষ্ট ইমেল ঠিকানাতে যেতে ইমেলটি চাইব, অন্যদিকে /etc/cron.daily/ এ থাকা ইমেলগুলি ডিফল্ট ইমেল ঠিকানাতে (root @ লোকালহোস্ট) যেতে হবে।

/Etc/cron.daily/ এ ক্রোনজবগুলি / ইত্যাদি / ক্রন্টব ফাইল থেকে চালিত হয়। / etc / crontab একটি 'MAILTO' ক্ষেত্র নির্দিষ্ট করে। আমি কি আমার /etc/cron.daily/foo ক্রোনজব এ MAILTO সেট করে ওভাররাইড করতে পারি?

এটি পরিচালনা করার সর্বোত্তম উপায় কী?


CentOS 6.5 (ক্রনি) ব্যবহারকারীদের জন্য নোট: /etc/crontabডিফল্ট নির্দিষ্ট করে না।
অ্যাডাম মনসেন

উত্তর:


13

সেট MAILTO=user@example.orgকরা /etc/cron.daily/fooকাজ করে না। স্ক্রিপ্ট আউটপুট ব্যবহারকারীর কাছে পাঠানো হয় না।

Http://www.unixgeeks.org/security/newbie/unix/cron-1.html এর পৃষ্ঠাটিও একটি সহজ সমাধানের প্রস্তাব দেয়:

ফাইলটিতে /etc/cron.daily/fooএখন নিম্নলিখিতগুলি রয়েছে:

#!/bin/sh
/usr/bin/script 2>&1 | mailx -s "$0" stefanl@example.org

এটি 'stefanl@example.org' এ একটি ইমেল প্রেরণ করবে যা স্ক্রিপ্টের সম্পূর্ণ পথের সমান (যেমন /etc/cron.daily/foo)।

ইউনিক্সজিক্স.অর্গ.এই সম্পর্কে যা বলেছে তা এখানে:

ক্রোন থেকে আউটপুট

আমি আগেই বলেছি, ক্রোন থেকে আউটপুট প্রক্রিয়াটির মালিককে বা মেল্টোর ভেরিয়েবলে নির্দিষ্ট করা ব্যক্তিটির কাছে মেইল ​​করা হয়, তবে আপনি যদি তা না চান তবে কী হবে? যদি আপনি আউটপুট অন্য কারও কাছে মেইল ​​করতে চান তবে আপনি কেবল আউটপুটটি কমান্ড মেলকে পাইপ করতে পারেন। যেমন

সেমিডি | মেল -s "মেল সাবজেক্ট" ব্যবহারকারী

কখনও কখনও, আমি কেবল স্ট্রাউড নয় ক্রোনজব থেকে ত্রুটিগুলি পেতে চাই, তাই আমি এই কৌশলটি ব্যবহার করি। সিনট্যাক্সটি প্রথম নজরে ভুল দেখতে পারে, তবে বিশ্রাম নিয়ে এটি কাজ করে। নিম্নলিখিত ক্রোনজব STDOUT কে / dev / নালতে প্রেরণ করবে এবং তারপরে পাইপলাইনের মাধ্যমে STDERR পরিচালনা করবে।

doit 2>&1 >/dev/null | mailx -s "$0" stefanl@example.org

একই জিনিস, তবে সিসলগে পাঠান:

doit 2>&1 >/dev/null | /usr/bin/logger -t $ME

ফাইল এবং ইমেলের জন্য ক্রোনজব স্ট্যাডার থেকে সার্ভারফল্টে আমার উত্তরটিও দেখুন


6

আরও মার্জিত সমাধান হ'ল /etc/cron.dসরাসরি ব্যবহার করা। আপনার স্ক্রিপ্টটি না রাখার পরিবর্তে /etc/cron.dailyএটি অন্য কোথাও রাখুন /usr/local/sbin/myscript.shএবং তারপরে ফাইলটি তৈরি করুন /etc/cron.d/myscript:

MAILTO=root,whomever@example.org
# run myscript.sh at 4:11 every day
11 4 * * * root /usr/local/sbin/myscript.sh

কাজটি হয়ে গেলে এটি আপনাকে আরও অনেক নিয়ন্ত্রণ দেয়; উদাহরণস্বরূপ কেবল নির্দিষ্ট সপ্তাহের দিনগুলিতে crontab(5)আরও তথ্যের জন্য লোকটি দেখুন ।


0

এই মেশিনে আপনার এসএ অ্যাক্সেস রয়েছে বলে ধরে নেওয়া, আপনি একটি নতুন ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে পারেন, এই অ্যাকাউন্টগুলিতে ক্রোন কার্যগুলি যুক্ত করতে পারেন। এই অ্যাকাউন্টগুলির হোম ফোল্ডারে একটি ফরোয়ার্ড ফাইল ব্যবহার করে এই ব্যবহারকারীর জন্য মেল ফরোয়ার্ড করা যেতে পারে। ক্রোন কার্যগুলিতে ব্যক্তিগতকৃত অ্যাক্সেসের প্রয়োজন হলে আপনাকে এই ব্যবহারকারীর জন্য অনুমতি সেট আপ করতে হতে পারে।

এটি বা স্টিফানের উত্তরটি সর্বোত্তমভাবে উপযুক্ত কিনা তা নির্ভর করে আপনি এটি নির্ধারণ করতে কতটা ঝামেলা করতে চান এবং আপনি যদি ত্রুটি বার্তাগুলি রুট ইমেলটিতে যেতে চান বা সাধারণত যে প্রতিদিনের আউটপুট পর্যবেক্ষণ করে তাদের উপর নির্ভর করে।

শুভকামনা

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.