Tmpwatch ঠিক কখন আমার / tmp ফাইলগুলিতে রাখে?


14

CentOS 6.x

আমি / টিএমপি / ঠিক তে থাকা ফাইলগুলি কখন মুছে ফেলা হয় তা নিয়ে আমি বিভ্রান্ত হয়ে পড়েছি।

/etc/cron.daily/tmpwatch এর নিম্নলিখিত রয়েছে:

#! /bin/sh
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
        -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
        -X '/tmp/hsperfdata_*' 10d /tmp
/usr/sbin/tmpwatch "$flags" 30d /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
    if [ -d "$d" ]; then
        /usr/sbin/tmpwatch "$flags" -f 30d "$d"
    fi
done

5 পংক্তির পাঠ্য বিভাগটি -X '/tmp/hsperfdata_*' 10d /tmpআমাকে বিশ্বাস করতে পরিচালিত করে যে আমি / টিএমপি / টিতে রাখি ফাইলগুলি 10 দিন অবধি থাকবে (ধরে নিবেন যে তারা অবশ্যই মোছার সময় লক করা হয়নি বা ডিরেক্টরিটি একটি tmpfs ফাইল সিস্টেমে মাউন্ট করা আছে)।

এটা কি ঠিক?

উত্তর:


8

CentOS 6 এ দেখে মনে হবে যে tmpwatchকোনও ফাইলের সর্বশেষ অ্যাক্সেস করা হয়েছিল তখন (মুছে ফেলা) মুছে ফেলার সিদ্ধান্তটি স্থির করে নিচ্ছে। যদি এটি 10 ​​দিন (10 ডি) বা তার বেশি হয়ে থাকে তবে tmpwatchরান করার সময় এটি মুছে ফেলা হবে ।

থেকে tmpwatchমানুষ পৃষ্ঠা:

    By  default,  tmpwatch  dates  files  by their atime (access time), not 
    their mtime (modification time). If files aren't being removed when 
    ls -l implies they should be, use ls -u to examine their atime to see if 
    that explains the problem.

ম্যান পৃষ্ঠা থেকে:

    The time parameter defines the threshold for removing files.  If the
    file has not been accessed for time, the file is removed.  The time 
    argument is a number with an optional single-character suffix specifying 
    the units: m for minutes, h for hours, d for days.  If no  suffix  is 
    specified, time is in hours.

6

আরএইচইএল 7 / সেন্টোস 7 এ, একটি সিস্টেমড লক্ষ্য রয়েছে যা প্রতিদিন চালিত হয়: systemd-tmpfiles-clean.timer(প্রতিস্থাপন করতে /etc/cron.daily/tmpwatch)। ডিফল্ট মান উভয় OnBootSec=15minএবং OnUnitActiveSec=1d। Systemd.timer ম্যানপেজ উদ্ধৃতি :

অনবুটসেক = মেশিনটি কখন বুটআপ হয়েছিল তার সাথে সম্পর্কিত টাইমার নির্ধারণ করে।

OnUnitActiveSec = যখন টাইমারটি সক্রিয় করছে ইউনিটটি সর্বশেষ সক্রিয় হয়েছিল তখন তার সাথে সম্পর্কিত টাইমার নির্ধারণ করে।

সুতরাং / টিএমপি এখন প্রতিদিন পরিষ্কার করা হয়, সিস্টেম বুট করার সময় প্রায় সময় হয় : সুতরাং সময়টি নির্ধারিত হয় । বড় মোতায়েনের জন্য, সমস্ত ভার্চুয়াল মেশিনগুলি একসাথে পরিষ্কার করে না, দুর্দান্ত।

ইতিহাসের জন্য, চালান:

$ journalctl  -u systemd-tmpfiles-clean
Mar 12 21:44:17 c7.klabs.be systemd[1]: Starting Cleanup of Temporary Directories...
Mar 12 21:44:18 c7.klabs.be systemd[1]: Started Cleanup of Temporary Directories.

যেখানে "স্টার্ট ক্লিনআপ" এর অর্থ আসলে "সম্পূর্ণ"।


Tmpwatch ব্যবহার করার একটি দুর্দান্ত ক্ষমতা আছে fuser। সিস্টেমড সংস্করণ কি এটি করতে পারে?
— সিএমসিডিগ্রাগনকাই

2
@ সিএমসিডিগ্রাগনকাই, এপ্রিল ২০১৫-এ, লেনার্ট পোয়েটারিং (সিস্টেমডি বিকাশকারী) সিস্টেমড-ডেভেল মেলিং তালিকায় বলেছেন : "আমরা এটিকে সমর্থন করি না [..] / প্রোক্রমে পুনরাবৃত্তি করা খুব খারাপ is [..] আমরা এটিকে বিবেচনা করতে পারি [অন্যথায়] ] " তারপরে তিনি যুক্ত করলেন " এক সময়ের চেকগুলি [..] পুরোপুরি পর্যাপ্ত হওয়া উচিত they আপনার এমন কোনও মামলা আছে যেখানে সেগুলি নেই? "
— ফ্র্যাংকলিন পাইট

হ্যাঁ আমি এই প্রশ্নটি জিজ্ঞাসা করেছি।
— সিএমসিডিগ্রাগনকাই

1
@ সিএমসিডিগ্রাগনকাই, আমি মেলিংয়ের তালিকায় লেনার্ট পোয়েটারিংয়ের উদ্ধৃতি দিচ্ছিলাম। তাকে উত্তর দিন (তালিকায়)!
— ফ্র্যাংকলিন পাইট 22
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.