Hazırladığım scripti screen içinde yazdırma

Başlatan solidsnake, 10 Aralık 2021 - 16:02:31

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

solidsnake

Merhaba

Basit bir script yazdım, bunu crontab'da her gün çalışacak şekilde ama bunu acacağım screen içine yapmak istiyorum... şöyle yapabilir miyim

screen -S  DENEME   sh /home/solid/deneme.sh 


Equilibrium

Alıntı yapılan: solidsnake - 10 Aralık 2021 - 16:02:31Merhaba

Basit bir script yazdım, bunu crontab'da her gün çalışacak şekilde ama bunu acacağım screen içine yapmak istiyorum... şöyle yapabilir miyim

screen -S  DENEME  sh /home/solid/deneme.sh



Merhaba!

Evet, screen komutunu kullanarak bir script'i arka planda çalıştırmak için istediğin gibi bir komut yazabilirsiniz. Ancak, crontab'da bu komutu doğrudan kullanmak için biraz farklı bir yaklaşım izlemelisin. crontab'da bir komut çalıştırırken, screen oturumu oluşturmak için tam komutu belirtmen gerekir.

Aşağıda, her gün belirli bir saatte deneme.sh script'ini screen içinde çalıştıracak bir crontab girişi örneği verilmiştir. Örneğin, her gün saat 2:00'de çalıştırmak için:

1.
crontab -e komutunu kullanarak crontab dosyasını açın.

2.Aşağıdaki satırı ekleyin:

0 2 * * * /usr/bin/screen -dmS DENEME sh /home/solid/deneme.sh
Burada:

0 2 * * * ifadesi, her gün saat 2:00'de çalıştırılmasını belirtir.

/usr/bin/screen ekranın tam yolunu belirtir. (Sistemin de screen'in tam yolu farklı olabilir, which screen komutunu kullanarak bulabilirsin.)

-dmS DENEME seçeneği, yeni bir screen oturumu oluşturur ve arka planda çalıştırır.

sh /home/solid/deneme.sh ise çalıştırılacak script'in yoludur.

Bu şekilde, her gün belirttiğin saatte script'in screen içinde çalışacaktır. Eğer script'in çıktısını görmek istersen, screen oturumuna bağlanarak (örneğin screen -r DENEME komutuyla) çıktıyı kontrol edersin.