Perhatikan bahwa memasukkan kata sandi teks-jelas dalam file teks bukan ide yang baik, jadi sebaiknya jalankan pekerjaan ini sebagai root dari awal. Biasanya, daripada mengedit crontab root melalui crontab
perintah, yang meninggalkan entri /var/spool/cron/crontabs
, lokasi yang agak samar, saya lebih suka memasukkannya secara eksplisit /etc/cron.d
. Entri dalam cron.d dijalankan sebagai entri crontab sistem, diperlakukan sebagai file config sehingga mereka harus selamat dari reboot sistem, pembaruan dan peningkatan, dan Anda dapat secara eksplisit menentukan pengguna yang berjalan:
echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am
Jika Anda tidak memerlukan waktu tertentu, melainkan hanya ingin sistem melakukan reboot sekali setiap hari, tambahkan skrip yang dapat dieksekusi dan skrip /etc/cron.daily
akan dijalankan secara otomatis pada waktu yang telah ditentukan (waktu sistem secara default 6:25 pagi):
echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me
Perhatikan bahwa alih-alih hanya me-reboot sistem tanpa peringatan, saya menetapkan peringatan 5 menit, jadi jika ada yang masuk, mereka memiliki kesempatan untuk menyelamatkan pekerjaan mereka, atau bahkan mengganggu shutdown dengan sudo shutdown -c
, daripada sistem menarik off dari bawah mereka. Anda dapat menyesuaikan ini sesuai, jika Anda ingin memberikan lebih banyak peringatan (misalnya, gunakan shutdown -h 60
dan jalankan perintah pada jam 2:00 pagi dan Anda akan memberi pengguna peringatan 1 jam yang murah hati).
Ini berdasarkan pengalaman masa lalu saya; di beberapa titik Anda akan masuk log bekerja ketika entri crontab berjalan, dan jika itu hanya reboot tanpa peringatan Anda akan menjadi panda yang sangat sedih.
echo $PASSWD