আমরা বর্তমানে রেল অ্যাপ্লিকেশন সার্ভারগুলিতে আমাদের রুবিতে উবুন্টু 12.04 এলটিএস থেকে 14.04 এলটিএসে আপগ্রেড করছি এবং লক্ষ্য করেছি যে লগ ফাইলগুলি আর ঘুরছে না।
উভয়ই মেশিনে /var/app-name/config/logrotate
আমাদের ইউনিক্স ব্যবহারকারীর মালিকানাধীন একটি ফাইল deployer
রয়েছে যার মধ্যে বৈধ লোগ্রোটেট ফাইল রয়েছে:
/var/app-name/log/*.log {
daily
rotate 365
delaycompress
compress
dateext
dateformat -%Y%m%d
missingok
copytruncate
}
এটি তখন /etc/logrotate.d/
ডিরেক্টরিতে অনুরূপভাবে যুক্ত হয়app-name
আমাদের উবুন্টু 12.04 সার্ভারে আমাদের লোগ্রোটেট 3..7.৮ রয়েছে যা ঠিক আছে। এটি var/app-name/log/
ডিরেক্টরিতে যায় এবং সমস্ত লগ ফাইল আবর্তিত করে
তবে উবুন্টু 14.04 সার্ভারে আমাদের লোগ্রোটেট 3..৮..7 রয়েছে যা আমাদের অ্যাপ্লিকেশনটির জন্য লগ ফাইলে ঘোরান না।
যখন আমি এটির মাধ্যমে ডিবাগ sudo logrotate -d -f /etc/logrotate/.conf
করি আমি নিম্নলিখিত আউটপুটটি পাই:
Ignoring /etc/logrotate.d/app-name because the file owner is wrong (should be root).
কোডটিতে এটি অনুসরণ করে, মনে হয় এই পরিবর্তনটি 3.8.x প্রকাশের স্ট্রিমের জন্য যুক্ত করা হয়েছিল: https://github.com/demands/logrotate/commit/b8ce386a969c60e5c8ee78023c24a1ba0aab1526
যদি আমি পরিবর্তন ফাইলের মালিকানা সিমলিঙ্ক করার /var/app-name/config/logrotate
জন্য root
তারপর, এটা আবার কাজ করতে শুরু করে। তবে প্রদত্ত এই ফাইলটি আমার আবেদনের অংশ, এবং আমরা এই রাজ্যে যে ক্যাপিস্ট্রানো ডিপ্লোয়মেন্ট ফ্রেমওয়ার্ক ব্যবহার করি তা তৈরি করে, আমি বরং এর মালিকানা পরিবর্তন করতে হত না, যখন এটি ঠিক কাজ করত।
তাহলে কি লিমরোট দ্বারা সমর্থিত কনফিগার ফাইলগুলি প্রস্তাবিত / সমর্থিত হয়?
এবং যদি তাই হয়, তবে এটি ডিরেক্টরিতে deployer
সিমলিংকযুক্ত আমার ফাইল (মালিকানাধীন ) ব্যবহার করতে অস্বীকার করা উচিত, তা /etc/logrotate.d
বাগ হিসাবে দেখা উচিত?
বা অ্যাপ্লিকেশন-নির্দিষ্ট লগ রোটেশনের জন্য আরও একটি প্রস্তাবিত পদ্ধতির রয়েছে?
( ইউনিক্স স্ট্যাক এক্সচেঞ্জে জিজ্ঞাসা করা )