নামে একটি টাইমস্ট্যাম্প সহ কোনও ফাইলকে ক্রোন আউটপুট প্রেরণ করা হচ্ছে


37

ল্যাম্প সেটআপে আমার এর মতো ক্রোনটব রয়েছে:

0 0 * * * /some/path/to/a/file.php > $HOME/cron.log 2>&1

এটি ক্রোন.লগে ফাইলের আউটপুট লিখবে । যাইহোক, এটি আবার চলার পরে, ফাইলটিতে যা ছিল তা ওভাররাইট করে।

এর ফাইলনামে টাইমস্ট্যাম্প সহ কোনও ফাইলের আউটপুট থেকে ক্রোন কীভাবে পাব ?

উদাহরণস্বরূপ ফাইলের নামটি হ'ল : 2010-02-26-000000-ক্রোন.লগ

যতক্ষণ না এটির কোনও ধরণের টাইমস্ট্যাম্প রয়েছে ততক্ষণ আমি ফর্ম্যাটটি সম্পর্কে সত্যিই চিন্তা করি না।

আগাম ধন্যবাদ.


8
আপনি যদি $HOME/cron.logওভাররাইট হওয়া না চান তবে ব্যবহার করবেন >>না>
ডেভ চেনি

উত্তর:


65

চেষ্টা করুন:

0 0 * * * /some/path/to/a/file.php > $HOME/`date +\%Y\%m\%d\%H\%M\%S`-cron.log 2>&1

আপনি যদি চান তারিখ ফর্ম্যাট সঙ্গে চারপাশে খেলুন; উপরের %মত যেকোন মত পালাতে ভুলবেন না\%


এবং আমাকে সাধারণত 0 0 * * * /some/path/to/a/file.php > $HOME/scriptname-তারিখের মতো + Y% Y suggest % m \% d \% এইচ \% এম \% এস -র মত নাম ফাইল করার জন্য একটি পদ্ধতির পরামর্শ দিতে পারি.log
ক্রিশ্চিয়ান

আপনার যদি এটির প্রয়োজন হয় তবে আরও কিছু মানব পাঠযোগ্য চেষ্টা করুন: date +\%Y\ \%m\ \%d\ \%H:\%M:\%S-ক্রন.লগ
ডেভিলকোড

4
@ ডেভিডকোড, হ্যাঁ, যদিও ফাইলের নামগুলির শূন্যস্থানগুলি ইউনিক্সে খুব বেশি প্রচলিত নয়। হাইফেন অথবা আন্ডারস্কোর একটি ভালো বিকল্প হতে পারে: date +\%Y-\%m-\%d_\%H:\%M:\%S-cron.log
বিভাজন

1
এই বিরক্তিকর পালানোর চরিত্রগুলি সবসময় আমাকে পায়। অনুস্মারকটির জন্য ধন্যবাদ!
টনি-ক্যাফে

13

আমি এখানে সুপারিশ করব যে আপনি এখানে বর্ণিত টাইমস্ট্যাম্প ব্যবহার করে একই ফাইলটিতে সমস্ত কিছু সংরক্ষণ করুন

অপসারণ

2> & 1

এবং এটি লগ ফাইল সংরক্ষণ করার আগে টাইমস্ট্যাম্পিং স্ক্রিপ্ট মাধ্যমে চালান (উপরের লিঙ্কে ব্যাখ্যা হিসাবে)।



0

আমি স্ক্রিপ্টটি এভাবে পরিবর্তন করেছি:

`/bin/date +\%Y\%m\%d`.log

-2

আমি এই সমস্যাটি সমাধান করেছি; তারিখ কমান্ডের আগে কেবল তারিখের পথ (/ বিন / তারিখ) যুক্ত করুন।


2
আরও তথ্য এবং উদাহরণ যোগ করুন।
দানিজেল

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