ฉันมีสองไดเรกทอรีแยกกัน ผู้ใช้โหลดไฟล์ลงในไฟล์แรก มี cronjob ทำงานในพื้นหลังซึ่งคัดลอกไฟล์ทุก ๆ 5 นาทีไปยังไดเรกทอรีที่สอง
จะเกิดอะไรขึ้นหากผู้ใช้ไม่ได้อัปโหลดไฟล์และ cronjob คัดลอกไฟล์? โปรดทราบว่าทั้งสองไดเรกทอรีเป็นเจ้าของโดยผู้ใช้ที่แตกต่างกัน cronjob จะดำเนินการในฐานะที่เป็นราก
cp
จะไม่รอจนกว่าไฟล์จะถูกอัพโหลดอย่างสมบูรณ์ ตามที่เราคาดหวังว่าอัตราการถ่ายโอนข้อมูลเครือข่ายต่ำกว่าเพียงแค่คัดลอกไฟล์จากที่หนึ่งไปยังอีกที่หนึ่งภายในโฮสต์เดียวกันจากนั้นในบางจุดcp
จะถึงจุดสิ้นสุดไฟล์ปัจจุบันและจะหยุดคัดลอก วิธีแก้ปัญหาของคุณอาจทำได้โดยง่าย: ก่อนอื่นผู้ใช้อัปโหลดไฟล์ที่มีชื่อไฟล์บางอันที่พิเศษ (ตัวอย่างเช่นการเติมด้วย.
(ตัวอักษรจุด) เมื่อการถ่ายโอนเสร็จสิ้นผู้ใช้จะเปลี่ยนชื่อเป็นชื่อเดิมจากนั้นงาน cron สำหรับไฟล์ที่ไม่ได้เริ่มต้นด้วย.
.