Server reboot cron harian?

14

Saya ingin membuat pekerjaan cron yang mengeksekusi daiy pada waktu yang ditentukan dan me-restart server ubuntu.

Saya mencoba untuk menambahkan reboothanya di cron, tetapi tidak berfungsi, sedangkan itu berfungsi ketika saya mencoba menjalankannya dari CLI.

Mohon saran, perintah apa yang harus saya tambahkan di cron, sehingga itu reboot server setiap hari pada waktu tertentu.

Prashant Kumar
sumber
Bolehkah saya bertanya mengapa Anda perlu me-reboot server setiap hari? Ini indikasi bagi saya bahwa Anda melakukan kesalahan. Mungkin.
gertvdijk
2
@ gertvdijk saya sudah mengalami situasi di mana Anda perlu me-reboot mesin secara teratur. Perangkat lunak berpemilik yang mengalami kebocoran memori buruk setelah ~ 30 jam uptime, hal-hal seperti itu.
jrg
1
Server game (batuk) Minecraft (batuk) sering rusak atau entah bagaimana bercampur dengan ratusan proses.
Kaz Wolfe
posting ini juga berguna askubuntu.com/questions/327015/…
kevin
Jika masalahnya adalah beberapa aplikasi bocor memori seiring waktu, solusi yang lebih baik adalah dengan hanya me-restart layanan aplikasi itu.
Soren A

Jawaban:

26

Anda perlu menjalankan perintah berikut:

/sbin/shutdown -r now

dengan pirviliges root. Cara melakukannya adalah dengan menggunakan crontab root, bukan crontab pengguna Anda. A sudosebelum perintah crontab yang biasa melakukan itu:

sudo crontab -e

Tip: Anda dapat mengganti editor standar shell untuk hal-hal seperti crontabdan visudodengan sudo update-alternatives --config editor, lalu pilih editor pilihan Anda.

Mengedit crontab Anda harus menambahkan baris berikut ke file Anda:

# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command  

@daily root /sbin/shutdown -r now

"@Daily" di sini adalah pintasan untuk setiap hari pada tengah malam (setara dengan "0 0 * * *"). Omong-omong - mengapa Anda ingin reboot setiap hari?

EDIT - lihat https://help.ubuntu.com/community/CronHowto untuk hal berikut: "Perintah Crontab umumnya disimpan dalam file crontab milik akun pengguna Anda (dan dieksekusi dengan tingkat izin pengguna Anda). Jika Anda ingin secara teratur jalankan perintah yang memerlukan izin administratif, edit file root crontab: sudo crontab -e "

EDIT - terima kasih kepada @charlesbridge atas komentarnya - jawaban yang diedit untuk menyertakan path lengkap

Clive van Hilten
sumber
2
Dengan cron, selalu paling aman menggunakan jalur lengkap:/sbin/shutdown -r
charlesbridge
1
apa yang dilakukan root antara pengaturan hari waktu dan perintah? bukankah seharusnya hanya @daily / sbin / shutdown -r sekarang di root pengguna cronfile? TIA
Ominus
3
Perintah berikut memiliki efek yang sama: /sbin/reboot.
Marc Vanhoomissen