GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Menjadwalkan Perintah Rsync?

Selamat siang!

Saya bekerja dari Chili. Masalahnya adalah koneksi di sini sangat lambat dan tugas-tugas seperti membuat setiap stasiun memperbarui paketnya langsung ke internet, itu tidak mungkin. Jadi saya memiliki repositori lokal yang ingin saya perbarui melalui rsync hanya di malam hari.

Saya tidak punya masalah dengan rsync, saya tahu cara menggunakannya. Di mana saya sedikit baru adalah di bidang-bidang seperti cronjobs dan hal-hal serupa.

Singkat cerita, yang perlu saya lakukan adalah memperbarui repositori saya setiap malam. Katakanlah itu dimulai setiap hari pada pukul 19:00 dan berhenti pada pukul 7:00.

Bagaimana saya bisa melakukannya?

Terima kasih sebelumnya.

Salam hangat.

PD:Saya menggunakan Ubuntu 16.04.

Jawaban yang Diterima:

Ada dua cara untuk menggunakan cron, yaitu dengan membuat file di /etc/cron.d/repo-sync dengan format:

<minute> <hour> <day_of_month> <month> <day_of_week> <user> <command>

Misalnya, untuk menjalankan rsync dari src ke dest pada pukul 19.00 setiap hari, Anda dapat menggunakan:

0 19 * * * root rsync -a src dest

Atau Anda dapat membuat crontab dengan menjalankan crontab -e (sebagai pengguna yang ingin Anda jalankan perintahnya) dengan baris seperti di atas dikurangi pengguna seperti:

0 19 * * * rsync -a src dest

Secara pribadi saya lebih suka membuat file cron.d untuk tugas sistem/root tetapi kedua pendekatan akan memiliki hasil yang sama.

Sekarang ini akan menjalankan perintah sekali pada waktu yang diberikan - itu akan berhenti setelah perintah selesai berjalan sehingga tidak ada kebutuhan nyata untuk menentukan perintah untuk menghentikannya pada 7:00 karena rsync seharusnya sudah selesai pada saat itu. Jika Anda benar-benar harus menghentikan perintah pada pukul 7:00, Anda dapat mengeluarkan tugas cron lain yang hanya mematikan proses yang ada pada waktu tertentu.

0 7 * * * root killall rsync

Sayangnya ini akan mematikan semua perintah rsync – yang mungkin memiliki efek samping jika ada hal lain jika mencoba menjalankan rsync pada saat yang sama, jadi saya tidak menyarankan metode ini.

Anda dapat melangkah lebih jauh dengan meletakkan perintah rsync di dalam skrip yang menulis pidnya ke file, dan menggunakan pid itu dalam perintah kill untuk menguranginya, tetapi ini mungkin lebih rumit dari yang Anda perlukan.

Anda dapat membaca selengkapnya tentang menyiapkan tugas cron di sini atau di sini.

Terkait:Bagaimana cara memeriksa seluruh hard disk untuk kesalahan dan bad sector?
Linux
  1. Cara Menggunakan Perintah Linux Rsync (Sinkronisasi Jarak Jauh)

  2. Cara menggunakan Perintah Su di Linux

  3. Perintah rsync Linux:cara menggunakannya

  1. Cara Menjadwalkan Pekerjaan Cron di cPanel

  2. Bagaimana cara menggunakan perintah Rsync di linux?

  3. Cara Menjadwalkan Tugas Menggunakan di di Linux

  1. Cara Menggunakan Perintah 'at' untuk Menjadwalkan Tugas pada Waktu yang Diberikan atau Nanti di Linux

  2. Cara Mengganti Nama File di Linux

  3. Bagaimana cara menggunakan perintah 'cp' untuk mengecualikan direktori tertentu?