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=1dSystemd.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.