Ubuntu'yu her gün belirli bir zamanda yeniden başlayacak şekilde nasıl yapılandırabilirim?


11

Terminali veya bash dosyasını kullanarak Ubuntu'yu her gün (örneğin diyelim) sabah 3'te yeniden başlayacak şekilde nasıl yapılandırabilirim?

Başka bir deyişle, terminalden otomatik olarak yeniden başlatma programlamak istiyorum.

Google veya AskUbuntu'da bununla ilgili hiçbir şey bulamadım ve genel olarak Ubuntu için oldukça yeniyim (yeni Raspberry Pi'mi aldım).

Yanıtlar:


13

crontab -eKomut kullanarak crontab girişlerini düzenleyin (varsayılan olarak bu, oturum açmış olan kullanıcıların crontab'ını düzenler) ve aşağıdaki satırı ekleyin:

0 3 * * * echo $PASSWD | sudo -S reboot
#change $PASSWD with your password

Dosyayı kaydedin ve yeni crontab girişini ile kontrol edin crontab -l.

Yalnızca kullanmak istiyorsanız:

0 3 * * * sudo reboot

crontab olarak, bu normal çalışmaz ve nasıl çalıştırabileceğinizi görmek için bu yayını kontrol etmelisiniz .

Veya crontab'ı kök kullanıcının crontab dosyasına şu rebootkomutu kullanarak eksiksiz bir yolla ekleyin sudo crontab -e:

0 3 * * * /sbin/reboot

Bunu root'un crontab'ına koyamaz ve hakkında çok endişelenemez misinizecho $PASSWD
Dan

Bunu bilmiyordum. Bu bir cron hatası mı yoksa normal mi? Yani, crontab'ı root olarak düzenlerseniz, iş sadece root olarak giriş yaparsanız yürütülecektir? Bence bu yanlış. (veya olmalıdır).
NickTux

@ RaduRădeanu Bu doğru değil. Kök cronjobs kök olarak oturum açmadan çalışır.
OrangeTux

@OrangeTux Haklısın, üzgünüm, dedim, çünkü rebootkomutun tam yolunu vermeden test ettim . Aksi takdirde çalışmaz. Yeni düzenlemelerimi görün.
Radu Rădeanu

Ben yanılmışım, yukarıdaki yoruma bakınız .
Radu Rădeanu

1

Açık metin parolanızı bir metin dosyasına koymanın iyi bir fikir olmadığını unutmayın, bu nedenle bu işin başlangıçtan itibaren kök olarak çalıştırılması en iyisidir. Genellikle, crontabgirişleri bırakan komutla root'un crontab'ını düzenlemek yerine /var/spool/cron/crontabs, biraz şifreli bir yerde, onları açıkça girmeyi tercih ederim /etc/cron.d. Cron.d dosyasındaki girişler sistem crontab girdileri olarak çalıştırılır, sistem yeniden başlatılırken, güncelleştirmelerde ve yükseltmelerde hayatta kalmaları için yapılandırma dosyaları olarak kabul edilir ve çalışan kullanıcıyı açıkça belirtebilirsiniz:

echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am

Belirli bir zamana ihtiyacınız yoksa, ancak sistemin günde bir kez yeniden başlatılmasını istiyorsanız, bir yürütülebilir dosya veya komut dosyası ekleyin /etc/cron.daily;

echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me

Uyarı kimse açtıysa yerine sadece uyarı olmadan sistemin yeniden yerine, ben 5 dakika uyarısı ayarlıyorum, bu yüzden onlar işlerini kurtarmak, hatta ile kapatma kesme şansına sahip olduğunu sudo shutdown -cziyade çekti sistemine sahip daha, onların altından. Daha geniş bir uyarı vermek istiyorsanız bunları uygun şekilde ayarlayabilirsiniz (örneğin, shutdown -h 60komutu 2: 00'da kullanın ve çalıştırın ve kullanıcılara 1 saatlik cömert bir uyarı verin).

Bu benim geçmiş deneyimlerime dayanıyor; bir noktada crontab girişi çalıştığında oturum açmış olacaksınız ve uyarı olmadan yeniden başlatılırsa çok üzücü bir panda olacaksınız.


-1

Neden istiyorsun - ya da bunu yapman gerekiyor ? Yapması oldukça kolay olsa da, Linux ile yeniden başlatma gerektirmeyen neredeyse daha iyi bir çözüm var. Windows'tan farklı olarak, Linux tabanlı işletim sistemleri çekirdek yükseltmeleri dışında neredeyse her şey için yeniden başlatma gerektirmez.

Neyi başarmaya çalıştığınızı açıklarsanız, muhtemelen size daha iyi yardımcı olabiliriz.


3
Her gece bilgisayarı yeniden başlatmak istiyor, böylece yeniden başlayacak
Michael Butler
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.