سؤال متى يتم مسح / تمة؟


أنا أخذ لوضع الملفات المختلفة في /tmpوتساءلت عن القواعد المتعلقة بحذفها؟

أتخيل أنه مختلف عن التوزيعات المختلفة ، وأنا مهتم بشكل خاص بإصدارات Ubuntu و Fedora المكتبية.

لكن طريقة عامة جيدة لمعرفة ذلك ستكون شيئًا رائعًا.

أفضل من ذلك سيكون وسيلة عامة لطيفة للتحكم فيه! (هناك شيء مثل "كل يوم في الساعة 3 صباحًا ، احذف أيًا منها /tmp الملفات التي مضى عليها أكثر من 60 يومًا ، ولكن لا تمسح الدليل عند إعادة التشغيل ")


118
2018-04-06 15:09


الأصل




الأجوبة:


هذا يعتمد على توزيعك. على بعض النظام ، يتم حذفه فقط عند تمهيده ، والبعض الآخر لديه cronjobs قيد التشغيل حذف العناصر الأقدم من ن ساعات.

  • على أنظمة تشبه دبيان: في التمهيد (يتم تعريف القواعد في /etc/default/rcS).
  • على أنظمة تشبه RedHat: حسب العمر (RHEL6 كان عليه /etc/cron.daily/tmpwatch . RHEL7 و RedHat يشبه systemd تم تكوينه في /usr/lib/tmpfiles.d/tmp.confدعا من قبل systemd-tmpfiles-clean.service).
  • على جنتو /etc/conf.d/bootmisc.

133
2018-04-06 15:12



وبغض النظر عن وقت حدوث ذلك ، فإن اللحظة الآمنة الوحيدة تكون بشكل عام على التمهيد ، مباشرة بعد تركيبها ، بما أن العمليات الجارية قد تحتوي على ملفات مقفلة هناك ، ولا يجب حذفها. - adaptr
هناك أيضا حزم المتاحة التي يمكن إزالتها بشكل دوري. - Samuel Edwin Ward
على أنظمة تشبه RedHat مع systemd (centos7 / rhel7) ، تم تكوينه في /usr/lib/tmpfiles.d/tmp.conf. يتم استدعاؤه بواسطة هدف systemd systemd-tmpfiles-clean.service. - Franklin Piat
على ديبيان القديم ، يمكنك التفكير tmpreaper الحزمة ، انها نسخة متشعب من tmpwatch. - Věroš K.


على CentOS (وأفترض فيدورا) ، هناك وظيفة في /etc/cron.daily يسمى tmpwatch. هذا يمتد /usr/sbin/tmpwatchوالتي ستحذف الملفات التي لم يتم الوصول إليها في عدد الساعات المحدد ، أي أن السلوك الافتراضي هو فحص atime لتقييم الملف إذا تم استخدامه مؤخرًا.

http://linux.die.net/man/8/tmpwatch

قد تكون tmpfs أخرى عبارة عن توزيعات (وتركيبات) أخرى ، وهي عبارة عن نظام ملفات في الذاكرة. هذا سوف تحصل على تطهيرها في التمهيد.


23
2018-04-06 16:01



ليس لدي هذا على CentOS 7.4. - Kevin Lemaire
KevinLemaire تم نقل الوظيفة إلى خدمة systemd. lists.centos.org/pipermail/centos/2014-October/147155.html - cjc


على Ubuntu 11.10 الذي أستخدمه ، هناك مغرور النصي في /etc/init/mounted-tmp.conf. بداية ذلك تقول هذا:

# mounted-tmp - Clean /tmp directory
#
# Cleans up the /tmp directory when it does not exist as a temporary
# filesystem.

description "Clean /tmp directory"

start on (mounted MOUNTPOINT=/tmp) or (mounted MOUNTPOINT=/usr)

يمكنك قراءة المزيد من التفاصيل ، ولكن بشكل عام /tmp يتم تنظيفها عند تركيبها أو تركيبها /usr مركب. هذا يحدث بانتظام في التمهيد ، لذلك هذا /tmp يعمل التنظيف على كل الحذاء.

في /etc/default/rcS عندك TMPTIME مجموعة ، والتي تستخدم في السيناريو الأول أعلاه لإطعام الاثنين find أوامر في نهايتها - أساسا السيطرة على حذف الملف على أساس أوقاتهم (تعديل ، تغيرت ، الوصول إليها).


12
2018-04-06 15:31





في RHEL 6.2 يتم حذف الملفات في / tmp بواسطة tmpwatch إذا لم يتم الوصول إليها في 10 أيام.

يحدد الملف /etc/cron.daily/tmpwatch طريقة استدعاء 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

الوسيطات - x هي ملفات ليتم استبعادها. الوسيطة الثانية إلى الأخيرة هي وقت الانتظار بعد آخر وقت للوصول. الوسيطة الأخيرة هي الدليل الذي يجب فحصه.


5
2018-05-29 21:31





من فيدورا 18 يوم ، /tmp مثبت على tmpfs (أي ذاكرة الوصول العشوائي) بشكل افتراضي ، وبالتالي يتم مسحها عند انقطاع التيار الكهربائي.

يمكن تعطيل هذا السلوك عن طريق إصدار systemctl mask tmp.mount وإعادة التشغيل (وإعادة تمكينها من خلال إصدار systemctl unmask tmp.mount وإعادة التشغيل) ، ثم /tmp سيتم تركيبها على / نظام الملفات ويمكن السيطرة عليها من قبل /usr/lib/tmpfiles.d/tmp.conf الإعدادات.

نرى http://fedoraproject.org/wiki/Features/tmp-on-tmpfs و man tmpfiles.d لمزيد من التفاصيل عن كل حالة.


4
2018-01-10 14:15





في openSUSE 13.2 ، يمكن التحكم في سلوك المقاصة مع المتغير التالي في sysconfig.

  • MAX_DAYS_IN_TMP
  • MAX_DAYS_IN_LONG_TMP
  • TMP_DIRS_TO_CLEAR
  • LONG_TMP_DIRS_TO_CLEAR
  • OWNER_TO_KEEP_IN_TMP
  • CLEAR_TMP_DIRS_AT_BOOTUP

يمكنك تعديل هذه المتغيرات من خلال (يمكن أيضًا العثور على استخدام كل متغير)

  1. تحرير /etc/sysconfig/cron ملف يدويا في سطر الأوامر.
  2. افتح Yast وانتقل إلى System -> / etc / sysconfig Editor -> System -> Cron

3
2017-11-15 13:45





أفضل من ذلك سيكون وسيلة عامة لطيفة للتحكم فيه! (هناك شيء مثل "كل يوم في الساعة 3 صباحًا ، احذف أي ملفات / تمة أقدم من 60 يومًا ، ولكن لا تمسح الدليل عند إعادة التشغيل")

ملفات Sorta-tempy التي لا تريد مسحها عند بدء التشغيل في / var / tmp

هذا ما هو ل :-)


2
2018-04-07 05:01