ฉันหวังว่าคุณจะสามารถยืมความเชี่ยวชาญของคุณมาให้ฉันได้
ฉันใช้โฮสติ้งที่ใช้ร่วมกันบน Hostgator และต้องการทราบวิธีการลบไฟล์. gz ทั้งหมดในหลายไดเรกทอรีทุกชั่วโมง ฉันคิดว่าฉันมีคำสั่ง cronjob ที่ถูกต้องในการทำเช่นนี้สำหรับไดเรกทอรีเดียว:
/usr/bin/find /path/to/directory/ -type f -name '*.gz' -exec rm {} \;
ถูกต้องไหม
ถ้าเป็นเช่นนั้นฉันจะทำสิ่งเดียวกันได้อย่างไร แต่มีหลายไดเรกทอรี (เช่นหลายสิบ) ฉันเดาว่าฉันสามารถรันหนึ่งสคริปต์แทนที่จะเป็น cronjob แต่ละอัน แต่ฉันใหม่สำหรับสิ่งนี้ สคริปต์ดังกล่าวมีลักษณะอย่างไร และฉันจะรันสคริปต์ผ่าน cronjob ได้อย่างไร
ขอบคุณล่วงหน้าสำหรับความช่วยเหลือใด ๆ !
อีกทางเลือกหนึ่งคือ
—
hlovdal
/usr/bin/find /path/to/directory/ -type f -name '*.gz' -print0 | xargs -0 rm
หลีกเลี่ยงการเรียกใช้ rm ซ้ำไปซ้ำมาสำหรับไฟล์แต่ละไฟล์
find
สนับสนุนคุณอาจต้องการที่จะใช้-delete
แทน-exec rm {} \;
หรืออย่างน้อยแทน+
\;