Yanıtlar:
Bunu doğrudan yapabilirsiniz shutdown command
, bkz man shutdown
:
SYNOPSIS
/sbin/shutdown [-akrhPHfFnc] [-t sec] time [warning message]
[...]
time When to shutdown.
Yani, örneğin:
shutdown -h 21:45
Bu shutdown -h
21:45 de çalışacak .
Bu işlevi sunmayan komutlar için şunlardan birini deneyebilirsiniz:
at
Cin tam da bu için tasarlanmıştır. İşletim sisteminize bağlı olarak yüklemeniz gerekebilir. Debian tabanlı sistemlerde, bu yapılabilir:
sudo apt-get install at
Komut vermenin üç yolu vardır at
:
Pipo:
$ echo "ls > a.txt" | at now + 1 min
warning: commands will be executed using /bin/sh
job 3 at Thu Apr 4 20:16:00 2013
Çalıştırmak istediğiniz komutu bir metin dosyasına kaydedin ve bu dosyayı aşağıdakilere iletin at
:
$ echo "ls > a.txt" > cmd.txt
$ at now + 1 min < cmd.txt
warning: commands will be executed using /bin/sh
job 3 at Thu Apr 4 20:16:00 2013
at
Komutları STDIN'den de geçebilirsiniz :
$ at now + 1 min
warning: commands will be executed using /bin/sh
at> ls
Ardından, kabuktan CtrlDçıkmak için tuşuna basın at
. ls
Komut bir dakika içinde çalışacaktır.
Biçiminde çok kesin zamanlar verebilirsiniz [[CC]YY]MMDDhhmm[.ss]
.
$ at -t 201403142134.12 < script.sh
Bu senaryoyu script.sh
14 Mart 2014 tarihinde 21:34 ve 12 saniyede çalıştıracak .
Diğer yaklaşım, cron
belirli zamanlarda görevleri gerçekleştirmek için tasarlanmış zamanlayıcı kullanmaktır . Genellikle tekrarlanacak işler için kullanılır, ancak belirli bir zaman da verebilirsiniz. Her kullanıcının hangi işlerin ne zaman ve ne zaman yürütüleceğini kontrol eden kendi "crontab'ları" vardır. Bir crontab'ın genel formatı şudur:
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
Örneğin, bu ls
her gün saat 14: 04'te çalışacak :
04 14 * * * ls
Belirli bir tarih için bir cronjob ayarlamak için:
Çalıştırarak yeni bir crontab oluşturun crontab -e
. Bu, favori metin editörünün bir penceresini açacaktır.
Bu satırı yeni açılan dosyaya ekleyin. Bu özel örnek, 15 Mart 2014 günü saat 14: 34'te, o gün Cumaysa (yani, tamam, birden fazla kez çalışabilir) çalışacaktır:
34 14 15 5 /path/to/command
Dosyayı kaydedin ve editörden çıkın.
Bu SO cevabı sadece bir kez çalışmasını sağlamak için bir yol sunuyor, ancak hiç kullanmadım, bu yüzden buna kefil olamıyorum.
shutdown
. Bu kötü deneyim için hissediyorum, bu hoş olamazdı.
shutdown
zamanlamayı karıştırdığınızdan ve cron
aynı yanıtta olduğu için ... Bir iş istasyonunda mı yoksa 1000 kullanıcı posta sunucusunda mı (üzücü deneyimim) kötü bir alışkanlığın sonuçları hakkında daha fazla şey var.
shutdown
, biri içermemelidir cron
. (özellikle de bunun neden korkunç bir fikir olduğunu bilemeyecek biriyle.)
Hayır, kapatma komutunda tarih belirtemezsiniz, ancak iki seçenek vardır:
1) En kolay at komutunu kullanmaktır . Aşağıdaki örnek, shutdown +5
belirli bir saat ve günde yürütülecektir :
echo "shutdown +5" | at 10:05am 2019-01-19
2) hesap makinesini kullanmak sakıncası yoksa ve 24 saat (24 * 60 = 1440 dakika) deyince sistemin tamamen açılıp kapanmayacağından eminseniz:
shutdown -r +1440
at
emri açıklamadı .
at
hiçbir açıklamayı haketmediğine inanıyorum . Aksi takdirde inandığını görebiliyorum. Farklı beyinler, farklı görüşler.
shutdown
komutları bir tarih belirtimine izin vermiyor. Ancak uç araç takımı shutdown
, uzun süredir devam eden BSD sözdizimini desteklemektedir.
Sisteminizi 12: 00'da kapatacak:
$ sudo shutdown -h 12:00
Seçenekler:
-h, -P, --poweroff
Makineyi kapatın.
-r, --reboot
Makineyi yeniden başlatın.
-c
Bekleyen bir kapanmayı iptal et.