Her yeniden başlatmada +1 dakikada bir komut dosyası çalıştırmanız gerekir. Bir kayıt yaptım @reboot
ama senaryom için çok erken. Yeniden başlattıktan bir süre sonra nasıl yürütülür?
Her yeniden başlatmada +1 dakikada bir komut dosyası çalıştırmanız gerekir. Bir kayıt yaptım @reboot
ama senaryom için çok erken. Yeniden başlattıktan bir süre sonra nasıl yürütülür?
Yanıtlar:
Senaryo sadece açılıştan bir dakika sonra çalışacak mı, yoksa başka zamanlarda da kullanılabilir mi? Eski durumda, sleep 60
betiğinizin başına ekleyebilir veya ikinci durumda, onu crontab dosyasına ekleyebilirsiniz:
@reboot sleep 60 && my_script.sh
Yine de, sr_ tarafından belirtildiği gibi, belki de bunu yanlış bir şekilde ele alıyorsunuzdur ve uygun bir init.d veya rc.d betiği daha sağlam bir çözüm olacaktır.
script -s X
da uyarlanabilir sleep X
script iç).
taskrunner
bu konuda, ne de,/etc/init.d
Örneğin, ağ kullanılabilir olduğunda yeniden başlatmadan sonra bir şey çalıştırmanız gerekiyorsa, örneğin, istenen zamanda çalıştırılacak olan systemd birimini yazabilirsiniz (elbette bu sadece systemd bulunan sistemlerde çalışacaktır).
Bunu yapmak /etc/systemd/system/my_script.service
için aşağıdaki içeriklere sahip bir dosya oluşturun :
[Unit]
Description=My script that requires network
After=network.target
[Service]
Type=oneshot
ExecStart=/full/path/to/my_script.sh
[Install]
WantedBy=multi-user.target
Ardından yürütün:
sudo systemctl daemon-reload
sudo systemctl enable my_script
Sen bittin!
Kullanırdım at
. De olduğu gibi:
@reboot echo /root/bin/do_the_stuff | at now + 2 minutes
# at assigns it an execution time truncated to whole minutes,
# so this means it will execute in 1--2 minutes.
... eklenmiş ihtarla birlikte, gerçekten istediğiniz şey diğer şeylerden sonra çalıştırmaksa, işletim sisteminizin kullandığı başlangıçta nasıl yapılacağını kontrol etmeniz gerektiğidir.