Bagaimana saya bisa membuat pekerjaan cron dalam file tertentu?

1

Saya ingin memiliki folder terpisah untuk cronpekerjaan seperti:

/mydata/cronjobs

Sekarang di folder itu saya ingin memiliki file seperti backup_serveryang akan memiliki konten seperti:

30 3 * * 1-5 /home/user/scripts/backup.sh 
30 3 * * 1-5 /home/user/scripts/backup2.sh 

Demikian pula, saya ingin memiliki lebih banyak file di direktori itu untuk setiap cronpekerjaan yang terpisah sehingga saya dapat memusatkan dan memisahkan cronpekerjaan dari satu folder.

Bagaimana saya bisa membuat root menjalankan pekerjaan itu untuk semua file di folder itu?

pengguna22
sumber
1
Bukankah CentOS sudah menyediakan /etc/cron.dpengaturan semacam ini?
tripleee

Jawaban:

0

Bagaimana dengan skrip seperti ini?

   #!/bin/bash

    cronjobs_dir=/mydata/cronjobs
    crontab_tmp=/tmp/crontab

    crontab -l > $crontab_tmp
    for i in $mydir/*
    do
            cat $i >> $crontab_tmp
    done
    crontab $crontab_tmp
Ferenc Géczi
sumber
Saya pikir maksud Anda for i in $mydir/*. Parsing lsoutput tidak berguna dan lsitu sendiri juga tidak berguna .
tripleee
Atau lebih ( crontab -l; cat "$mydir"/* ) | crontab -
tepatnya
Tetapi kemudian tidak ada fasilitas untuk, katakanlah, menghapus satu pekerjaan tetapi mempertahankan yang lain (secara terprogram).
tripleee
@ tripleee Anda benar, dengan sedikit lebih banyak berpikir sebelum memposting, saya bisa mengoptimalkannya ls, tetapi saya tidak tahu bahwa Anda benar-benar dapat menggunakan STDIN crontab. Saya harus membaca halaman manual. Terima kasih telah menunjukkan ini! "Menghapus dan menjaga yang lain": Ini seperti menghapus semuanya dan menambahkan kembali apa yang dibutuhkan. Dan saya berasumsi bahwa: a, hanya file / pekerjaan yang ada di direktori yang benar-benar dibutuhkan. b, semua file / pekerjaan ada yang diperlukan.
Ferenc Géczi