আমার ক্রন্টবায় কেবলমাত্র একটি উইজেট কমান্ড কেন কাজ করছে?


15

আমি আমার সার্ভারে পিএইচপি স্ক্রিপ্ট থেকে দিনে দু'বার কন্টেন্ট আনতে langচাই, কোন ভাষাটি আমরা চাই সেটি সেট করতে একটি ক্যোয়ারী ভেরিয়েবল পরিবর্তন করে এবং এই বিষয়বস্তুকে দুটি ভাষা নির্দিষ্ট ফাইলে সংরক্ষণ করুন। এটি আমার ক্রোনটব:

*/15 * * * * ~root/apache.sh > /var/log/checkapache.log
10 0 * * * wget -O /path/to/file-sv.sql "http://mydomain.com/path/?lang=sv"
11 0 * * * wget -O /path/to/file-en.sql "http://mydomain.com/path/?lang=en"

সমস্যাটি হ'ল শুধুমাত্র প্রথম উইজেট কমান্ড লাইনটি কার্যকর করা হচ্ছে (বা সুনির্দিষ্টভাবে বলা যায়: কেবলমাত্র যে ফাইলটি লেখা হচ্ছে তা হ'ল /path/to/file-sv.sql)। আমি যদি দ্বিতীয় এবং তৃতীয় সারিতে স্যুইচ করি তবে /path/to/file-en.sqlপরিবর্তে লেখা হবে। প্রথম লাইনটি সর্বদা প্রত্যাশার মতো চলে, তা যেখানেই থাকুক না কেন।

আমি তখন চেষ্টা করেছিলাম lynx -dump "http://mydomain.com/path/?lang=xx" > /path/to/file-xx.sqlকোন লাভ হয়নি; এখনও শুধুমাত্র প্রথম লিংক লাইন সফলভাবে কার্যকর হয়েছে। এমনকি উইজেট এবং লিঙ্কের মিশ্রণও এটি পরিবর্তন করে নি!

মরিয়া হয়ে উঠছি! আমি কিছু অনুপস্থিত করছি? উইজেট বা লিঙ্কে ক্রন্টব (মিলিত) সহ হাজার হাজার নিবন্ধ রয়েছে তবে সমস্তগুলি বেসিক সেটআপ এবং সিনট্যাক্সকে আবৃত করে বলে মনে হচ্ছে। আমি কী ভুল করছি তার কোনও কি ক্লু পেয়েছে?

ধন্যবাদ,
আলেকজান্ডার


আপনি কি নিশ্চিত যে যখনই আপনি mydomain.com/path/?lang=en অ্যাক্সেস করেন কোনও কিছু ফিরে আসে? কি ঘটেছিল তা দেখার জন্য আপনি একটি কমান্ড লাইন থেকে চেষ্টা করে দেখেছেন (wget -O - mydomain.com/path/?lang=en )?
টোরিয়ান

1
আমি 2 থেকে 3 এর মধ্যে ক্যারেজ রিটার্নটি মুছে ফেলার এবং পুনরুদ্ধার করার চেষ্টা করব
অ্যান্টনিয়াস ব্লাচ

সেরা অনুশীলন হ'ল ক্রোন্টাবের এক্সিকিউটেবলের পুরো পথ নির্দিষ্ট করা। পছন্দ: "/ usr / বিন / উইজেট"। কোনওটি ক্রোন কাজ করে বলে এটি আপনার ক্ষেত্রে সহায়তা করবে বলে আমি মনে করি না।
অ্যান্টনিয়াস ব্লচ 21

ক্রোন এর লগে প্রদর্শিত হয় যখন এটি ঘটে?
মটরশুটি

@ টিরিয়ান: কবজির মতো কাজ করে।
আলেকজান্ডার ওয়ালিন 21

উত্তর:


42

আপনার ক্রোনটব শেষে নতুন লাইন যুক্ত করার চেষ্টা করুন।


1
তুমি গডসেন্ড! এটা এটা! আমার সুনাম থাকলে আমি তোমাকে ভোট দিয়ে দিতাম। :)
আলেকজান্ডার ওয়ালিন

1
@ জিগ্যালেন কিন্তু ... কেন?
স্যামুয়েল

2

পাঠ্যটি সম্পর্কে ভুল রয়েছে যা ভুল। আপনার ক্রন্টবকে ভিমে সম্পাদনা করুন তারপরে অদৃশ্য অক্ষরগুলি দেখান।

:set invlist

আপনি এটি দেখতে এবং তারপরে এটি সংশোধন করতে সক্ষম হবেন।


ভুল কিভাবে? আমি কীভাবে এটি ভিমে সম্পাদনা করব? আমি কপি-পেস্টিংয়ের ফলে সমস্যার সৃষ্টি হবে এমন ক্ষেত্রে পুরো ফাইলটি পুনরায় লেখার চেষ্টা করেছি।
আলেকজান্ডার ওয়ালিন 21

@ এফএকেনহোম: আপনি এখন এটি কীভাবে সম্পাদনা করবেন?
বাহামাত

1
@ বাহাহাত:# crontab -e
আলেকজান্ডার ওয়ালিন

@ এফএকেনহোম: এটি করুন:EDITOR=vim crontab -e
বাহামাত ২২ শে

@ বাহাহাত: সবকিছু ঠিকঠাক দেখাচ্ছে। $প্রতিটি লাইনের শেষে বেগুনি পেয়েছেন ?
আলেকজান্ডার ওয়ালিন

1

পুনঃনির্দেশ যুক্ত করার চেষ্টা করুন, ক্রন্টাব (অথবা রুট মেল পড়ুন):

11 0 * * * wget -O /path/to/file-en.sql "http://mydomain.com/path/?lang=en" > /tmp/crontab_ouptput 2> /tmp/crontab_error

কনসোল থেকে 'উইজেট -O /path/to/file-en.sql " http://mydomain.com/path/?lang=en " "চালান ।

বৈধতা নতুন ক্রন্টব জন্য 'crontab -e' ব্যবহার করুন।

এছাড়াও, কাজ করছে না এমন লাইন মুছে ফেলার চেষ্টা করুন এবং কীবোর্ড থেকে এটি আবার টাইপ করুন।

ব্যাকআপ কর্নটব এবং রান কমান্ড:

crontab -l | crontab -

যুক্ত করা /tmp/crontab_ouptput 2> /tmp/crontab_errorকেবল প্রথম লাইনের জন্যই কাজ করে। কনসোল থেকে কমান্ড চালানো ঠিক কাজ করে। আমার খালি হাতে পুরো ফাইলটি আবার লিখুন, তবে কিছুই পরিবর্তন হয়নি।
আলেকজান্ডার ওয়ালিন

ব্যাকআপ crontab এবং চেষ্টা করুন: crontab -l | crontab -
alvosu

প্রচেষ্টার জন্য ধন্যবাদ, @ আলভোসু, তবে একটি সাধারণ নিউলাইন কৌশলটি করেছে!
আলেকজান্ডার ওয়ালিন

1

ক্রোনির একটি চলমান সিস্টেমে উপরের উত্তরগুলি ( নিউলাইনগুলি যুক্ত করা, নিউলাইনগুলি মুছে ফেলা ইত্যাদি) চেষ্টা করার জন্য আমি কেবল কিছু সময় ব্যয় করেছি । অবশেষে পাওয়া সেখানে একটি বাগ cronie 1.5.3 যে শুধুমাত্র প্রত্যেক ব্যবহারকারীর জন্য প্রথম ক্রন কাজ executes । এটি 1.5.4 এ স্থির হয়েছে

https://github.com/cronie-crond/cronie/issues/30

আশা করি এটি কারও কিছুটা সময় সাশ্রয় করেছে ...

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