Apakah `at` menjalankan perintah nanti jika komputer mati pada waktu yang ditentukan?

20

Saya ingin menjadwalkan pekerjaan dengan at, tetapi saya tidak yakin apa yang terjadi jika komputer ditangguhkan pada waktu yang ditentukan: Apakah perintah akan dieksekusi segera setelah komputer bangun lagi (seperti dengan anacron) atau tidak akan dieksekusi sama sekali (suka dengan cron)?

Jika Anda menentukan pekerjaan yang benar-benar dijalankan pada waktu dan tanggal tertentu di masa lalu, pekerjaan itu akan berjalan sesegera mungkin.

Itulah yang dikatakan halaman manual tentang hal itu, namun tidak cocok dengan kasus saya: Saya tidak ingin menentukan pekerjaan yang akan dijalankan di masa lalu, saya ingin menjalankannya di masa depan dan bertanya bagaimana at memperlakukannya jika komputer sedang tidur.

Ini bukan duplikat Jalankan saat perintah ketika komputer sedang tidur karena pertanyaan ini menanyakan apakah atakan mengaktifkan komputer untuk menjalankan perintah, juga bukan merupakan duplikat dari Bagaimana mencegah dan menjalankan pekerjaan sebelumnya? karena ini tentang bagaimana mencegah atdari mengeksekusi pekerjaan-pekerjaan "lama" itu (dengan jawaban yang sangat bagus!).

pencuci mulut
sumber

Jawaban:

20

atmengeksekusi perintah apa pun yang seharusnya dijalankan sebelum Anda membangunkan komputer, tetapi mungkin perlu beberapa menit untuk melakukannya. Bahkan tidak masalah apakah Anda memberikan tanggal tertentu , karena Anda dapat dengan mudah menguji:

$ sudo date -s "2017-12-15 23:57:00"
$ at 23:59 17-12-15 <<<'echo executed >at_test'
job 1 at Fri Dec 15 23:59:00 2017
# suspend, wake after four minutes
$ date
Sat Dec 16 00:01:17 CET 2017
$  cat <at_test || atq
bash: /home/dessert/at_test: No such file or directory
1       Fri Dec 15 23:59:00 2017 a dessert
# wait a few minutes
$  cat <at_test || atq
executed

Jadi pekerjaan yang Anda tambahkan menggunakan at 20:00 todaydapat dilakukan dengan sangat tiba-tiba tiga hari kemudian ketika Anda menghidupkan kembali komputer Anda. Jika Anda ingin mencegah hal ini, Anda dapat memeriksa waktu dalam pekerjaan itu sendiri seperti yang diusulkan di sini: Bagaimana mencegah dan menjalankan pekerjaan yang lalu?

pencuci mulut
sumber