আমার ঘন্টা ঘন্টা ক্রোন কাজ চলে গেছে তা আমি কীভাবে বলতে পারি?


26

আমি ntpdateইন ফাইল নামে একটি ফাইল তৈরি করেছি/etc/cron.hourly

#!/bin/sh
/usr/sbin/ntpdate-debian
date > /tmp/william_tmp
date > /william_tmp
date > ~/william_tmp
echo test

আমি এই ফাইলটিতে Chmod 755ও করেছি।

তবে ফাইলটি চালিত হয়েছে কি না তা আমি বলতে পারছি না!

ফাইলটি 3 টির কোনও ডিরেক্টরিতে তৈরি হয় নি।

আমি যদি ম্যানুয়ালি চালনা করি cd / && run-parts --report /etc/cron.hourlyতবে ফাইলগুলি তৈরি হয় এবং আমি প্রতিধ্বনি পাই।

এটি যে কাজ করছে তা পরীক্ষা করার জন্য কেউ (আদর্শভাবে ধাপে ধাপে!) নির্দেশনা সুপারিশ করতে পারেন?

উত্তর:


25

ক্রোন-এর একটি প্রধান ক্ষতি হ'ল ক্রোন একটি অত্যন্ত সীমিত শেল পরিবেশে চলে, ফলস্বরূপ প্রচুর পরিবর্তনশীল পরিবেশে রফতানি হয় না, প্রধানত $ PATH। নিশ্চিত করুন আপনার সমস্ত পরম পাথ এক্সিকিউটেবল করার মত সাধারণ ফাংশন সহ ব্যবহার echo, uptime, dateপূর্ণ পাথ ব্যবহার করার জন্য প্রয়োজন নেই, ইত্যাদি ( /bin/echo, /bin/date, /usr/bin/uptime)। এক্সিকিউটেবলের পাথ নির্ধারণ করতে আপনি whichকমান্ডটি এভাবে ব্যবহার করতে পারেন : which echo- এটি আপনাকে সেই সরঞ্জামটির পুরো পথটি প্রদর্শন করবে।


আড্ডায় আলোচিত হিসাবে, এর জন্য ধন্যবাদ এবং আমি আশা করি এটি অন্য কাউকে সহায়তা করবে ... আমি এনটিপিডেটে পড়ে যাওয়ার পথে, উইন্ডোজ এবং প্রতিধ্বনি / তারিখটি "বিল্ট ইন" হওয়ার কারণে আমি এতটাই অভ্যস্ত, আমি ঠিক করিনি ' আমার মনে হয় আমার পুরো পথের প্রয়োজন হবে ... লিনাক্স সম্পর্কে আরও অনেক কিছু শেখার এবং এটি সঠিক ধারণা দেয়!
উইলহিল

36

আপনার /var/log/syslogলগ ফাইলটি দেখতে হবে। যদি ক্রোন চালিত হয় তবে এর মতো একটি লাইন থাকবে:

Jun 11 19:09:01 penguin CRON[17376]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
Jun 11 19:17:01 penguin CRON[17799]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

সমস্যা সমাধানের টিপসের জন্য https://help.ubuntu.com/commune/CronHowto# সমস্যা সমাধান


সিসলগে কিছুই নেই এবং এটি লিঙ্ক থেকে ব্যর্থ হওয়ার কোনও কারণ আমি দেখতে পাচ্ছি না :(
উইলহিল

1
যদি সিসলগ ( grep -i cron /var/log/syslog /var/log/syslog.1) এ কোনও এন্ট্রি না থাকে তবে ক্রোন ডিমন চলছে কিনা তা পরীক্ষা করা শুরু করুন: ps uww -C cronএকটি প্রক্রিয়া সহ একটি লাইন থাকা উচিত।
লেকেনস্টেইন

বিভ্রান্তিকর হওয়ার জন্য দুঃখিত, সিসলোগে ক্রোনের প্রবেশাধিকার রয়েছে, এই আদেশের সাথে সম্পর্কিত কিছুই নেই ... আমি জানি কয়েক ঘন্টা কাজ প্রতি ঘন্টা হিসাবে চালিত হয়, আমি একটি নতুন মেইল ​​সতর্কতা পাই ... আফাইক, যেগুলি কাজ করছে তারা ক্রোনতাব থেকে ক্রোন হবার কিছুই নেই যা আমি কাজ করার চেষ্টা করছি
উইলহিল

2

আপনার স্ক্রিপ্টের প্রথম লাইনটি (দোভাষী) এতে পরিবর্তন করার চেষ্টা করুন:

#!/bin/bash

পরিবেশের ভেরিয়েবল এবং পথের সমস্যাগুলি সহ আমি অতীতেও সমস্যা ছিল। দোভাষী বদল করার পরে bashআমার সমস্যাগুলি চলে গেল।


1

প্রদত্ত আমি clearme.shস্ক্রিপ্টটি এতে যুক্ত করেছি/etc/cron.hourly/

শক্তিশালী egrep এবং awk দিয়ে কেবল টার্মিনালে CRON কার্যগুলি ফিল্টার করুন :

$ cat /var/log/syslog | egrep clearme | awk "{ print $1 }" > ~/Desktop/cronlog.txt

ফলাফলটি দেখতে পাবেন:

Jan 14 15:20:01 markets-dev CRON[10089]: (dminca) CMD (root /etc/cron.hourly/clearme.sh)
Jan 14 15:40:01 markets-dev CRON[18042]: (dminca) CMD (root /etc/cron.hourly/clearme.sh)
Jan 14 16:00:01 markets-dev CRON[22817]: (dminca) CMD (root /etc/cron.hourly/clearme.sh)
Jan 14 16:20:01 markets-dev CRON[28183]: (dminca) CMD (root /etc/cron.hourly/clearme.sh)
Jan 14 16:40:01 markets-dev CRON[411]: (dminca) CMD (root /etc/cron.hourly/clearme.sh)
Jan 14 17:00:01 markets-dev CRON[5442]: (dminca) CMD (root /etc/cron.hourly/clearme.sh)
Jan 14 17:20:01 markets-dev CRON[11935]: (dminca) CMD (root /etc/cron.hourly/clearme.sh)

ধাপে ধাপে সমস্ত কিছু ব্যাখ্যা করার জন্য:

  1. cat / var / log / syslog - আমাকে সিস্টেম লগ মুদ্রণ করুন
  2. উদাহরণস্বরূপ ক্লিয়ারমে - তবে কেবল পাঠ্য ক্লিয়ারমে থাকা সারিগুলি নির্বাচন করুন
  3. awk "{মুদ্রণ $ 1}" - আমাকে সেই সারিটি মুদ্রণ করুন যাতে পাঠ্য ক্লিয়ারমে রয়েছে
  4. > ~ / ডেস্কটপ / ক্রোনলগ.টি টেক্সট - ডেস্কটপ ডিরেক্টরিতে অবস্থিত ফাইল ক্রোনলগ.txt ফাইলের ফলাফল আউটপুট করে ।

চতুর্থ পদক্ষেপটি alচ্ছিক। এটি কেবল ফাইলের পরিবর্তে টার্মিনালে ফলাফল মুদ্রণ করবে।

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