"(সিআরএন) তথ্য (কোনও এমটিএ ইনস্টল করা হয়নি, আউটপুট ছাড়ছে না)" ত্রুটি সিস্টেলে


196

আমার বেশ কয়েকটি সার্ভারের উবুন্টু 12.04.1 এলটিএস ইনস্টল আছে।

আমি সেই সার্ভারগুলিতে কোনও ক্রোন জব যোগ করি নি বা আমার ক্রোনটব সম্পাদনা করি নি, তবে প্রতিটি মেশিনের জন্য একই সময়ে আমি স্পাইকের সময় আমার সিসলগে একটি 75% সিপিইউ স্পাইক এবং নিম্নলিখিত তথ্য পাই:

CRON[8380]: (CRON) info (No MTA installed, discarding output)

আমি মনো-সম্পূর্ণ ইনস্টল করেছি এবং একটি পরিষেবা স্ট্যাক ওয়েবসার্ভার চালাচ্ছি।

এটি হতে বাধা দেওয়ার জন্য আমার পক্ষে সর্বোত্তম উপায় কী? আমি সিপিইউ স্পাইক অপসারণ করতে সক্ষম হতে চাই।


প্রতিদিন 6:25 এ? এগুলি /etc/cron.daily/ এর স্ক্রিপ্টগুলি। আমার কেবল মেল প্রেরণের চেষ্টা রয়েছে: জনপ্রিয়তা-প্রতিযোগিতা। আপনার স্ক্রিপ্টগুলি দেখুন এবং দেখুন কোন লিপিটি মেল প্রেরণের চেষ্টা করছে? এটি এটি সঙ্কুচিত করা উচিত। তারপরে 'chmod 0644 /etc/cron.daily/script-name' কার্যকর করা রোধ করতে।

উত্তর:


172

লিনাক্স ব্যবহারকারীকে বিজ্ঞপ্তি প্রেরণের জন্য মেল ব্যবহার করে। বেশিরভাগ লিনাক্স বিতরণে একটি মেল পরিষেবা (এমটিএ সহ) ইনস্টল থাকে including উবুন্টু যদিও না।

এই সমস্যাটি সমাধানের জন্য আপনি উদাহরণস্বরূপ একটি মেল পরিষেবা ইনস্টল করতে পারেন post

sudo apt-get install postfix

অথবা আপনি এড়িয়ে যেতে পারেন। আমি মনে করি না যে বার্তাগুলি প্রেরণে ক্রোনের অক্ষমতার সিপিইউ স্পাইক (যা ক্রোন চলমান অন্তর্নিহিত কাজের সাথে যুক্ত) এর সাথে কোনও সম্পর্ক রয়েছে। এমটিএ ইনস্টল করা এবং তারপরে বার্তাগুলির মাধ্যমে পড়া muttভাল পদ্ধতি হতে পারে ( এটি একটি ভাল সিস্টেমের মেল পাঠক)।


5
পোস্টফিক্স কি ইনস্টল করার জন্য ভাল জিনিস? কোন এমটিএ ব্যবহার করা সবচেয়ে সহজ?
এন্ডোলিথ

2
পোস্টফিক্সটি লিনাক্সের জন্য সর্বাধিক ব্যবহৃত মেল সার্ভার, এটি আটকে থাকুন
রাপলি অ্যান্ড্রেস

5
এটি উল্লেখ করার মতো যে ইনস্টলেশন প্রক্রিয়া চলাকালীন ক্রোন ব্যবহারের জন্য (এটি যদি আপনি আসলে বাইরে থেকে ইমেল প্রেরণ করতে চান না) আপনার কেবল স্থানীয় ব্যবহারের জন্য কনফিগার করার জবাব দেওয়া উচিত।
স্টিফেন

একমাত্র উপায় আমি মেইল চেক করতে জানি mailদ্বারা উপলব্ধ mailutils(Debian), একটি ভাল উপায় পোস্টসাফিক্স আগে থেকেই তাহলে কি হবে?
থারস্মমনার

79

এটি ঘটায় কারণ আপনার ক্রোন জবগুলি আউটপুট উত্পাদন করে এবং তারপরে ক্রোন ডেমোন সেই আউটপুটটি আপনাকে ইমেল করার চেষ্টা করে (অর্থাত্ রুট)। যদি আপনার এই আউটপুটটির প্রয়োজন না হয় তবে এটিকে সমাধান করার সহজতম উপায় হ'ল ক্রোনটবে এটি বাতিল করা:

sudo crontab -e

এবং >/dev/null 2>&1প্রতিটি কাজ যুক্ত করুন:

* * * * * yourCommand >/dev/null 2>&1

10
এই পদ্ধতির সাথে সমস্যা হ'ল এটি উচ্চ সিপিইউ ব্যবহারের ব্যাখ্যা দেয় না। ক্রোন স্পষ্টভাবে যোগাযোগ করার চেষ্টা করছে এবং এটি মূলত কেবল আউটপুটটিকে উপেক্ষা করছে। আমি আউটপুটটিকে বাতিল করার চেয়ে বেশি হ্যান্ডেল করতে চাই, কেবল যদি দরকারী ডিবাগ তথ্য থাকে।
অলি

1
অলি, যদিও এটি একটি পুরানো প্রশ্ন, আমি একই সঠিক সমস্যাটি অনুভব করছি তবে এটি রাস্পবেরি পিআই-তে রয়েছে। আমি লগটিতে No MTA installed, discarding outputবার্তাগুলির গুচ্ছ দেখতে পাচ্ছি এবং শেষ পর্যন্ত আমার প্রোগ্রামটি নিজে থেকে চালানো বন্ধ করে দেয়। আমি বিশ্বাস করি এটি সিপিইউ স্পাইকের কারণে। দেখে মনে হচ্ছে এই প্রশ্নের জন্য পোস্ট করা সমস্ত উত্তর সেটিকে উপেক্ষা করছে বলে মনে হচ্ছে।
ThN

4
আউটপুট রাখতে, একটি স্ক্রিপ্টে কমান্ডটি রাখুন, এবং পাইপ stdout এবং stderr এ logger। উদাহরণস্বরূপ yourCommand >/dev/null 2>&1 | logger -t mycmd,। এটি নিরাপদ রাখার জন্য আউটপুটটি সিসলগে রাখবে এবং এমটিএ অভিযোগগুলি বন্ধ করবে।
সিভিমিয়ারফ্যান

56

আমার ক্ষেত্রে, বার্তাটি ব্যাশ স্ক্রিপ্টের সাথে অনুমতি সংক্রান্ত সমস্যার ইঙ্গিত দিচ্ছিল, তবে আমি এমটিএ ইনস্টল না করা পর্যন্ত এটি দেখতে পেলাম না।

প্রস্তাবিত হিসাবে আমি দৌড়েছি:

sudo aptitude install postfix

আমি সেটআপ করার সময় এবং আবার ক্রোন জব চালানোর পরে "স্থানীয়" বেছে নিলাম:

sudo tail -f /var/mail/<user>

আমার ক্ষেত্রে আমি প্রতিস্থাপন করেছি

<user>

"রুট" সহ

আমি তখন অনুমতি সম্পর্কিত ত্রুটি আউটপুট দেখতে সক্ষম হয়েছি।


3
চাকরী থেকে ত্রুটিগুলি দেখতে মেলবক্সটি কীভাবে চেক করবেন তার অতিরিক্ত মন্তব্যের জন্য আপনাকে ধন্যবাদ!
স্টুয়ার্ট অ্যালেন

32

পূর্বের উত্তরে যেমন বলা হয়েছে, এটি ঘটে কারণ আপনার ক্রোন জবগুলি আউটপুট উত্পাদন করে এবং তারপরে ক্রোন ডেমন সেই আউটপুটটি আপনাকে ইমেল করার চেষ্টা করে। আপনি যদি কোনও এমটিএ ইনস্টল করতে (বা না করতে) চান না তবে আপনি আউটপুটটি দেখতে চান, আপনি ক্রোন জবের আউটপুটটিকে লগ ফাইলে পুনর্নির্দেশ করতে পারেন। এর সাথে আপনার ক্রন্টব ফাইলটি সম্পাদনা করুন

crontab -e

( sudoযদি সমস্যাটি মূলের ক্রন্টাবের সাথে থাকে তবে ব্যবহার করুন) এবং প্রতিটি আদেশের পরে এটি যুক্ত করুন:>> /some/log/file 2>&1

0 3 * * * সেমিডি   >> / কিছু / লগ / ফাইল 2> & 1

সেখানে একটি লাইন একাধিক কমান্ড হন, দ্বারা পৃথক ;,  &&  বা ||, আপনি এটির মতো, প্রতিটি কমান্ড জন্য উপরে করা উচিত:

0 3 * * * সেন্টিমিডি 1   >> / কিছু / লগ / ফাইল 2> & 1;  সেমিডি 2   >> / কিছু / লগ / ফাইল 2> & 1

বা তাদের গ্রুপ করুন, এটির মতো:

0 3 * * * ( সেন্টিমিটার 1 ;   সেমিডি 2 )   >> / কিছু / লগ / ফাইল 2> & 1

আপনি যদি stdout উপেক্ষা করতে চান এবং কেবল স্টডারকে ক্যাপচার করতে চান তবে পরিবর্তে ব্যবহার করুন। আপনি যেখানে চান সেখানে লগ ফাইলটি রাখুন - আপনার হোম ডিরেক্টরি , অথবা এমনকি আপনি নিশ্চিত যে এটি রাখার দরকার নেই।> /dev/null 2>> /some/log/file/var/log/tmp

তারপরে কাজটি চালানোর পরে লগ ফাইলটি দেখুন।


28

ক্রোনটাব এ এটিকে প্রথম লাইন হিসাবে যুক্ত করুন:

MAILTO=""

এটি ক্রোনকে কোনও ইমেল প্রেরণের চেষ্টা করতে বাধা দেবে।


4
কোনও মন্তব্য ( #) দেওয়ার পরে MAILTO=""বা এটি কাজ করবে না
এসবিএফ

23

আপনি যদি এমটিএ ইনস্টল করতে না চান (যার জন্য বর্তমানে আমার কোনও প্রয়োজন নেই) আপনি ক্রোন জবের ফলাফলগুলি লগ ফাইলে পাইপ করতে পারেন।

sudo crontab -e

তারপরে আপনার ক্রোন জবটির সাথে এটির মতো দেখাবে।

0 3 * * * /cmd/to/run >> /var/log/somelogfile.log

তারপরে আপনি কেবল লগটি লেজ করতে পারেন এবং দেখুন কী হয়েছে

sudo tail -f -n 50 /var/log/somelogfile.log

এটি আমি কোনও সার্ভারে যা করছি যা আমি স্লোগলে সেই বার্তাটি দেখি


আমি এটি করেছি, তবে ফাইলটিতে কোনও লগিং যুক্ত করা হয়নি।
পীর

আপনি কি নিশ্চিত যে ক্রোন জব চলছে?
অ্যান্ড্রু ম্যাকনফটন

হ্যাঁ, সিস্টেম লগ দেখায় যে এটি শুরু হচ্ছে।
পীর

1
স্ট্যাড্রারে ফাইলটিতে আউটপুট ক্যাপচার করতে আপনার লাইনের শেষে '2> & 1' দরকার।
ম্যাটস্মিথ

15

এটি একটি পুরানো প্রশ্ন তবে একটি অতিরিক্ত উত্তর রয়েছে যা কিছু পরিস্থিতিতে কার্যকর।

আপনার ক্রোন কমান্ডের আউটপুটটি পাইপ করুন loggerযাতে সেগুলি সিসলগে শেষ হয়।

এটি পোস্টফিক্স ইনস্টল করার চেয়ে কিছুটা সহজ এবং এটি আপনার অন্যান্য লগের পাশাপাশি এই আউটপুটটিকে সিসলগে রাখে। এই কমান্ডটি স্টাডআউট এবং স্টডারকে ক্যাপচার করবে যাতে আপনি No MTA installedবার্তাটি দেখতে পাবেন না এবং আপনার সমস্ত আউটপুট সিসলগে দেখতে পাবেন।

ক্রোন প্রবেশের উদাহরণ:

0 3 * * * (cmd1;  cmd2) 2>&1 | logger -t mycmd

আপনি এই mycmdব্যবহার করে আপনার ট্যাগ দিয়ে লগ দেখতে পারেন :

grep 'mycmd' /var/log/syslog

পাইপগুলি ক্রোন জবগুলিতে কাজ করে?
সিভিমিয়ারফ্যান

10

/dev/null 2>&1ক্রোন জব কমান্ডে যুক্ত করার একটি পার্শ্ব প্রতিক্রিয়া হ'ল এটি উভয় STDERRএবং STDOUTস্ট্যান্ডার্ড ত্রুটি পাশাপাশি আউটপুটকেও বাতিল করে দেবে । আপনি ক্রোন থেকে কোনও ইমেল না চাইলে এটি কাজ করে। তবে আপনি যদি নিজের ত্রুটিগুলি আপনাকে ইমেল করতে চান তবে >/dev/nullপরিবর্তে ব্যবহার করুন। আরও ব্যাখ্যার জন্য এই ব্লগ পোস্ট পড়ুন

ত্রুটি ইমেলগুলি প্রেরণের জন্য আপনাকে এখনও একটি এমটিএ (মেল স্থানান্তর এজেন্ট) ইনস্টল করতে হবে। পোস্টফিক্সটি ইনস্টল করার জন্য যথেষ্ট সহজ:sudo apt-get install postfix


যতদূর আমি বুঝতে পেরেছি '> / dev / নাল' কেবল তাদের পাঠাবে এবং '> / dev / নাল 2> & 1' সমস্ত ত্রুটি ডসকার্ড করবে? লগতে ত্রুটি পেতে তবে কোনও মেল নেই বলে আমার কী ব্যবহার করতে হবে? আমি এখন কোনও মেইল ​​পাচ্ছি না (যেমনটি আমি এটি চাই) তবে কুৎসিত 'এমটিএ নেই ...'
পিট

2
আফাক্স, আউটপুটটিকে ইমেলগুলি প্রেরণ করা ছাড়া লগ করার কোনও উপায় নেই। আপনি যে নিকটতম জিনিসটি করতে পারেন তা হ'ল লোকাল মেল বিতরণের জন্য পোস্টফিক্স সেটআপ করা (আপনি যদি "sudo apt-get ইনস্টল পোস্টফিক্স" চালনা করেন তবে এটি আপনাকে স্থানীয় বিতরণ সেট আপ করতে চান কিনা তা নির্দেশ দেয়। যদিও এটি প্রাথমিকভাবে ব্যথার মতো দেখায়, এটি আসলে কাজ করে অনেক ভাল। আমি যখনই এসএসএসের মাধ্যমে লগ ইন করি, পূর্ববর্তী কাজটি ব্যর্থ হলে আমি মেশিনে একটি নতুন ইমেল দেখি the লগ চেক করার চেয়ে আমি এটি আরও সুবিধাজনক বলে মনে করি
প্যানার_টিকা

2
  1. প্রথমে ইনস্টল করুন postfix, এটি সমস্যার সমাধান করতে পারে

    sudo apt-get install postfix
    
  2. যদি উবুন্টু হয় তবে আপনি crontabফাইলটি সম্পাদনা করতে পারেন

    sudo vim /etc/crontab
    
  3. মনোযোগ দিন the শীর্ষ ফাইলটি সম্পাদনা করুন first প্রথম লাইনে কোনও কোড নয় , এবং প্রবেশ করুন

    MAILTO=root // current system user
    
  4. cronকোনও কাজ সম্পাদন করার সময় - আপনি একটি ইমেল পাবেন

    mail
    

1
আপনার উত্তরটি ভাল বলে মনে হচ্ছে, তবে আমি সমস্ত নির্দেশাবলীর অনুধাবন করতে পারি না। হতে পারে আপনি এটি উন্নতি করতে পারেন।
zx485

1

আপনি MAILTO=””আপনার crontabফাইলের শুরুতে পরিবর্তনশীল সেট করতে পারেন । এটি ইমেল সতর্কতাও অক্ষম করবে। আপনার ক্রোন জবগুলি সম্পাদনা / খুলুন:

$ crontab -e

ফাইলের শীর্ষে, প্রবেশ করুন:

MAILTO=""

https://www.cyberciti.biz/faq/disable-the-mail-alert-by-crontab-command/


1

কাইটমেটিক ডকার সরঞ্জাম ব্যবহার করে আমার এই সমস্যা হয়েছিল ।
ম্যাজেন্টো পাত্রে যান এবং ক্লিক করুন exe

তারপরে দৌড়াও

apt-get update

এটি যদি আপনি কাইটমেটিকের উপর ম্যাজেন্টো চালানোর চেষ্টা করছেন। লগ ভার্চুয়াল মেশিনে এই ত্রুটিটি দেখায়:

আপডেট দরকার

এটি যদি আপনার হারিয়ে যায় তবে দুঃখিত, তবে এটি কীভাবে কাজ করে। আপনি হারিয়ে যেতে থাকুন, তবে কেবল এটি সম্পর্কে পড়ুন এবং টুকরোগুলি একদিন একত্রিত হবে। ধৈর্য্য ধারন করুন.

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