Saya memiliki dua direktori terpisah. Pengguna memuat file ke dalam file pertama. Ada tugas cronjob di latar belakang yang menyalin file setiap 5 menit ke direktori kedua.
Apa yang terjadi jika pengguna belum menyelesaikan unggahannya dan cronjob menyalin file? Perhatikan bahwa dua direktori dimiliki oleh pengguna yang berbeda, cronjob dilakukan sebagai root.
cp
akan menunggu sampai file diunggah sepenuhnya. Seperti yang kami perkirakan kecepatan transfer jaringan lebih rendah daripada hanya menyalin file dari satu lokasi ke lokasi lain di dalam host yang sama, maka pada titik tertentu cp
akan mencapai akhir file saat ini dan akan berhenti menyalin. Solusi untuk masalah Anda dapat dengan sederhana: pertama pengguna mengunggah file dengan beberapa nama file yang rusak (misalnya diawali dengan .
(karakter dot) .Ketika transfer dilakukan pengguna mengubah nama menjadi nama asli. Kemudian pekerjaan cron hanya terlihat untuk file yang tidak dimulai dengan.