Cron বা এ রান যখন শেল স্ক্রিপ্ট truncated


0

আমি একটি লিনাক্স ভিত্তিক নাসা (DNS-323) আমার কিছু অদ্ভুত আচরণ দেখছি। আমি NAS এর অন্য বাক্সে ফাইল ব্যাক আপ করার জন্য একটি সহজ শেল স্ক্রিপ্ট ব্যবহার করছি। কিছু সাম্প্রতিক সংযোজন করার পর, স্ক্রিপ্টটি যখন দৌড়ে চলে তখন ব্যর্থ হয়ে গেল cron অথবা at। আমি সরাসরি স্ক্রিপ্ট দৌড়ে যখন এটা কোন সমস্যা ছিল।

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

অন্য কেউ এই মত কিছু দেখেছেন? এর কারণ কি হতে পারে?


আপনি স্ক্রিপ্ট পোস্ট পেস্টবিন বা অনুরূপ করতে পারেন?
Jack M.

উত্তর:


1

এখানে সবচেয়ে বড় পার্থক্য আমরা ধরণের একটি এমবেড সিস্টেমের উপর কাজ করা প্রদর্শিত হবে।

যদি আমি এই সঠিকভাবে পড়ি, তবে এটি স্ক্রিপ্টটি হ্রাস করা হবে এবং আউটপুটটি নয় (যা পরে মেল পেতে পারে)। আমি প্রতিটি পূরণ করব।

এটি আসলে স্ক্রিপ্ট, তবে সরাসরি চালানোর সময় এটি কাজ করে, তবে আমি নিম্নলিখিতগুলি সুপারিশ করব:

  1. স্ক্রিপ্ট বিশেষ করে বড়?
  2. স্ক্রিপ্টটি কোনও বাশ-নির্দিষ্ট বৈশিষ্ট্যগুলি ("ব্যাশিজমস") বৈশিষ্ট্য করে ... মনে রাখবেন যে / bin / sh - - এবং প্রায়শই - ভিন্ন। আপনি আপনার crontab এ SHELL = / bin / bash সেট করতে পছন্দ করতে পারেন (যদি এটি উপলব্ধ থাকে)
  3. আপনি আপনার স্ক্রিনে আপনার স্ক্রিপ্ট লেখার চেষ্টা করছেন, অথবা আপনি একটি স্ক্রিপ্ট ফাইলে কল করছেন।
  4. আপনি পুনঃনির্দেশ যদি আচরণ পরিবর্তন উভয় stdout এবং stderr একটি ফাইল সিস্টেমে পর্যাপ্ত মুক্ত স্থান দিয়ে একটি ফাইল?
  5. এইরকম ক্ষেত্রে, আমি একটি অস্থায়ী crontab এন্ট্রি তৈরি করতে এটি কার্যকর বলে মনে করি যা 'env' কমান্ডে কল করে এবং এটি আউটপুটটিকে একটি ফাইল বা ইমেলে পুনঃনির্দেশিত করে। এটি কখনও কখনও পরিবেশে অপ্রত্যাশিত পার্থক্য প্রদর্শন করতে পারে (যেমন লোকেল সেটিংস, যা প্রায়শই আলাদা হয়)।
  6. আপনি আপনার স্ক্রিপ্ট ফাইলে একটি 'সেট-এক্স' রাখতে পারেন। এটি স্ক্রিপ্ট আয় হিসাবে আউটপুট ডিবাগিং তথ্য আউটপুট হবে। আপনি এটি বন্ধ করতে 'সেট + এক্স' ব্যবহার করতে পারেন। এই স্ক্রিপ্ট নির্বাহ শেষ হবে যেখানে নির্ধারণে দরকারী।
  7. এখানে কি ধরণের সফ্টওয়্যার ব্যবহার করা হচ্ছে:
    • SMTP: 'sendmail --version' বা 'sendmail -v' এর আউটপুট কী?

প্রকৃতপক্ষে এটি আউটপুট ছিল, তাহলে আমি বলতে চাই যে আচরণটি এমটিএ ব্যবহার করা খুব বেশি নির্ভর করবে। একটি এমবেডেড পরিবেশে এটি একটি নির্দিষ্ট বাফার আকার অতিক্রম করতে পারে (সম্ভবত এটি ফাইল সিস্টেমে উপলব্ধ স্থান দ্বারা চালিত হবে)।

এছাড়াও, আপনি আপডেট ফার্মওয়্যার জন্য চেক করেছেন: http://support.dlink.com/ProductInfo.aspx?m=DNS-323 সাম্প্রতিকতম মে 2012 থেকে সংস্করণ 1.10 বলে মনে হচ্ছে


সব তথ্যের জন্য ধন্যবাদ। আপনার প্রশ্নের উত্তর দিতে, হ্যাঁ, এটি স্ক্রিপ্ট করা হয় এমন স্ক্রিপ্ট (আউটপুট নয়)। আমি ফার্মওয়্যার 1.08 চালাচ্ছি কারণ আমি পরবর্তী কয়েকটি ফার্মওয়্যারগুলির সাথে কিছু বাগ (যেখানে নিশ্চিত না) সম্পর্কে পড়েছি। আমি আপনার ডিবাগিং পরামর্শ কিছু রিপোর্ট করতে চেষ্টা করব। এছাড়াও, কিছুই মেলানো হচ্ছে না, তাই SMTP সেটিংস অপ্রাসঙ্গিক হওয়া উচিত।
Dominic P

শুধু একটি দম্পতি আরো প্রশ্নের উত্তর দিতে। 1) স্ক্রিপ্ট বেশ সংক্ষিপ্ত (প্রায় 3260 অক্ষর)। 2) এটি যে কোন "ব্যাশিজম" ব্যবহার করে না যা আমি সচেতন। 3) আমি শুধু crontab মধ্যে স্ক্রিপ্ট উল্লেখ করছি। 4) লাইন ভিত্তিতে লাইনের উপর আউটপুট পুনঃনির্দেশিত করার জন্য আমার স্ক্রিপ্ট সেটআপ ছিল, আমি এটি পরিবর্তন করব এবং সম্পূর্ণ স্ক্রিপ্টের জন্য স্টেডাউট এবং স্টderরটি পুনঃনির্দেশিত করতে পারি কিনা তা দেখুন।
Dominic P

আচ্ছা, আমি গত ঘন্টার জন্য এটি পুনরুত্পাদন করার চেষ্টা করছি এবং আমি এটি আগে যেমন স্ক্রিপ্ট ছিনতাই পেতে না পেতে পারেন। আমি সঠিক একই স্ক্রিপ্টটি চালাচ্ছি, এখন বিভিন্ন ফলাফলের সাথে একই ভাবে। এই আলোকে, আমি সত্যিই এটি ডিবাগ করতে পারবেন না। আমি যদি আরো কিছু তথ্য খুঁজে পাই, তবে আমি প্রশ্নটি আপডেট করব, কিন্তু এখন আমি এই গ্রহণযোগ্য এবং চলন্তকে চিহ্নিত করছি। সাহায্যের জন্য ধন্যবাদ.
Dominic P
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.