ใช้ cronjob เพื่อทำความสะอาด / tmp


11

จะปลอดภัยหรือไม่หากใช้สคริปต์ทุบตีและ cronjob เพื่อล้างข้อมูล/tmpโดยอัตโนมัติ

คำตอบ:


13

/tmpจะถูกล้างในทุก ๆ การรีบูตระบบ แต่สำหรับระบบที่ไม่สามารถรีบูตบ่อยครั้งและเป็นพิเศษหากวัตถุประสงค์เพียงอย่างเดียวคือการล้าง/tmpสคริปต์สามารถทำการล้างได้

ไม่มีกระบวนการควรให้ข้อมูลที่สำคัญมี แต่มันเป็นสิ่งสำคัญที่คุณสามารถที่จะทำความสะอาด/tmpโดยไม่กระทบกับกระบวนการใด ๆ tmpในการเขียนข้อมูล

ฉันแนะนำให้ใช้tmpreaperสำหรับสิ่งนั้น

sudo apt-get install tmpreaperคุณสามารถติดตั้งได้กับ

จากหน้าคน:

tmpreaper ทำการค้นหาและลบไฟล์ซ้ำ ๆ และไดเรกทอรีว่างที่ไม่สามารถเข้าถึงได้ตามจำนวนวินาทีที่กำหนด โดยปกติจะใช้เพื่อล้างไดเรกทอรีที่ใช้สำหรับพื้นที่เก็บข้อมูลชั่วคราวเช่น "/ tmp" โปรดอ่านส่วนคำเตือนของคู่มือนี้

การใช้งานตามปกติที่เกี่ยวข้องกับการกล่าวอ้างtmpreaperใน/tmpที่มีสเป็คอาร์กิวเมนต์เวลา อาร์กิวเมนต์ข้อมูลจำเพาะเวลาสามารถเป็นอะไรก็ได้dสำหรับวันhชั่วโมงชั่วโมงmนาทีหรือsวินาที

กรุณาใช้--testเพื่อเรียกใช้แห้งและรับผลลัพธ์จากผลลัพธ์ก่อนที่คุณจะรันคำสั่งจริง คุณจะได้รับทราบถึงสิ่งที่จะถูกลบก่อนที่คุณจะยอมรับการเปลี่ยนแปลงใด ๆ กับระบบไฟล์


ขอบคุณ! เพื่อตอบคำถามของฉันอย่างเต็มที่คุณสามารถอธิบายได้หรือไม่ว่าทำไมจึงดีกว่าการใช้การลบแบบเรียกซ้ำแบบง่าย ๆ
Jochem Kuijpers

1
ไม่ใช่มันใช้ง่ายกว่าและข้อโต้แย้งที่ใช้นั้นเข้าใจได้ง่ายกว่า ง่าย ๆrm -rfในรายการของไฟล์ที่ส่งคืนโดยfindจะทำงานด้วย นี่คือ "อีกวิธีหนึ่ง" ไม่ได้บอกว่าเป็นวิธีที่ดีที่สุดเพียงแค่ใช้ในเซิร์ฟเวอร์ที่ฉันติดตั้ง
Bruno Pereira

tmpreaperดูเหมือนว่าเป็นเครื่องมือที่ดีคุ้มค่ากับการใช้--testและ--showdeletesเมื่อทำการทดสอบ
RichVel

3

ลองเพิ่ม cronjob ที่ทำงาน

find /tmp/* -type d -mtime +5 -print0 | xargs -0 rm -rf 
find /tmp/* -type f -mtime +5 -print0 | xargs -0 rm -rf 

สิ่งนี้จะลบไฟล์ทั้งหมดที่เก่ากว่า 5 วัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.