lostyazilim
tr.link

Linux Startup run App

3 Mesajlar 584 Okunma
lstbozum
tr.link

anesteziker anesteziker WM Aracı Kullanıcı
  • Üyelik 20.09.2016
  • Yaş/Cinsiyet 40 / E
  • Meslek sağlık
  • Konum Ankara
  • Ad Soyad U** K**
  • Mesajlar 45
  • Beğeniler 4 / 4
  • Ticaret 0, (%0)

Merhaba,

Synology marka bir sunucum var. Açılışta ayağa kaldırmak için hazırladığım bir python dosyası var onu çalıştırmak istiyorum. Yani cihaz her boot edildiğinde otomatik olarak tetiklenmesi gerekiyor. Bunun için aşağıdaki kodları buldum. Örnekte bu şekilde çalışacağı yazıyor fakat bir türlü çalıştıramadım. Kod hakkında yardımcı ollursanız sevinirim. Kolay gelsin.

#!/bin/sh # Synology DSM bootup script # Configured Variables:
PYTHON_EXEC="/volume1/@appstore/Python3.9/usr/bin/python3.9"
SCRIPT_EXEC="/usr/share/plc/plc.py"
#Begin script case "$1" in start)
PATH=$PATH:/volume1/@appstore/Python3.9/usr/bin printf "%-30s" "Starting script" ${PYTHON_EXEC} ${SCRIPT_EXEC} & printf "[%4s]\n" "done";;stop)
printf "%-30s" "Stopping script" printf "[%4s]\n" "done" ;; *) 
echo "Usage: $0 {start|stop}" 
exit 1 esac
exit 0 
 

 

wmaraci
reklam

130793 130793 WM Aracı Anonim Üyelik
  • Üyelik 19.07.2021
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 239
  • Beğeniler 8 / 34
  • Ticaret 0, (%0)

bunun için bende hocamdan yardım almıştım. fakat linux de boot atabilirsin koda gerek yok sadece py dosyasını çalıştır otomatik 

 

 

OFffLaZZzz OFffLaZZzz WM Aracı Kullanıcı
  • Üyelik 16.06.2023
  • Yaş/Cinsiyet 40 / E
  • Meslek Esnaf
  • Konum Trabzon
  • Ad Soyad M** K**
  • Mesajlar 28
  • Beğeniler 10 / 13
  • Ticaret 0, (%0)

 

anesteziker adlı üyeden alıntı

Merhaba,

Synology marka bir sunucum var. Açılışta ayağa kaldırmak için hazırladığım bir python dosyası var onu çalıştırmak istiyorum. Yani cihaz her boot edildiğinde otomatik olarak tetiklenmesi gerekiyor. Bunun için aşağıdaki kodları buldum. Örnekte bu şekilde çalışacağı yazıyor fakat bir türlü çalıştıramadım. Kod hakkında yardımcı ollursanız sevinirim. Kolay gelsin.

#!/bin/sh # Synology DSM bootup script # Configured Variables:
PYTHON_EXEC="/volume1/@appstore/Python3.9/usr/bin/python3.9"
SCRIPT_EXEC="/usr/share/plc/plc.py"
#Begin script case "$1" in start)
PATH=$PATH:/volume1/@appstore/Python3.9/usr/bin printf "%-30s" "Starting script" ${PYTHON_EXEC} ${SCRIPT_EXEC} & printf "[%4s]\n" "done";;stop)
printf "%-30s" "Stopping script" printf "[%4s]\n" "done" ;; *) 
echo "Usage: $0 {start|stop}" 
exit 1 esac
exit 0 

Belirttiğiniz Synology sunucunuzun açılışında otomatik olarak bir Python betiğini çalıştırmak istiyorsanız, öncelikle bu işlem için bir init betiği oluşturmanız gerekebilir. Ancak dikkat edilmesi gereken bazı noktalar vardır.

  1. İlk olarak, Synology cihazınıza SSH erişimi sağlamalısınız. Bu işlemi DSM yönetim arayüzünden etkinleştirebilirsiniz.

  2. Python betiğinizin başlangıcında #!/usr/bin/python3.9 gibi bir "shebang" satırı olmalıdır, bu satır Python yürütücüsünü betiğinizi çalıştırmak için belirtir.

  3. Ardından, /usr/local/etc/rc.d/ dizini içinde bir başlangıç betiği oluşturmanız gerekebilir. Örneğin, /usr/local/etc/rc.d/myscript.sh gibi bir dosya oluşturun. Bu dosya, sistem başlatıldığında otomatik olarak çalıştırılacaktır.

  4. Başlangıç betiği içinde, Python betiğinizi çalıştıracak komutları ekleyin. Başlangıç betiği çalıştırıldığında, bu Python betiği otomatik olarak çalışacaktır.

İşte örnek bir başlangıç betiği (myscript.sh) önerisi:

 

#!/bin/sh

case "$1" in
start)
    /usr/bin/python3.9 /path/to/your/script.py
    ;;
stop)
    # Durdurma işlemi gerekiyorsa buraya ekleyebilirsiniz.
    ;;
*)
    echo "Kullanım: $0 {start|stop}"
    exit 1
    ;;
esac

exit 0

 

Bu başlangıç betiği, cihaz başlatıldığında Python betiğinizi /path/to/your/script.py yolundaki betiği çalıştıracaktır. Betiğin yolu ve adı ile uygun şekilde güncellemeyi unutmayın.

Son olarak, başlangıç betiğinizi çalıştırılabilir hale getirmek için aşağıdaki komutları kullanın:

 

chmod +x /usr/local/etc/rc.d/myscript.sh

Artık Synology cihazınızı yeniden başlattığınızda, Python betiği otomatik olarak çalışacaktır.

 

Ayrıca, Verdiğiniz betikte bazı düzeltilmesi gereken hatalar bulunuyor. İşte düzeltilmiş betik:

 

#!/bin/sh

# Konfigüre Edilmiş Değişkenler
PYTHON_EXEC="/volume1/@appstore/Python3.9/usr/bin/python3.9"
SCRIPT_EXEC="/usr/share/plc/plc.py"

# Başlangıç komutları
case "$1" in
start)
    PATH=$PATH:/volume1/@appstore/Python3.9/usr/bin
    printf "%-30s" "Skript başlatılıyor..."
    ${PYTHON_EXEC} ${SCRIPT_EXEC}
    printf "[%4s]\n" "tamamlandı"
    ;;
stop)
    printf "%-30s" "Skript durduruluyor..."
    # Durdurma işlemi gerekiyorsa buraya ekleyebilirsiniz.
    printf "[%4s]\n" "tamamlandı"
    ;;
*)
    echo "Kullanım: $0 {start|stop}"
    exit 1
    ;;
esac

exit 0

 

Yapılan düzeltmeler ve açıklamalar:

  1. #!/bin/sh satırı ile başlıyoruz, bu, betiğin bir shell betiği olduğunu belirtir.

  2. Değişkenleri doğru bir şekilde atadık.

  3. PATH ayarını start durumunda betiğin başında belirttik, böylece Python yürütücüsünün doğru yolu bulunur.

  4. printf komutları düzeltilerek, betiğin çalışma durumunu daha iyi gösteriyorlar.

  5. stop durumu için betiğinizi durdurma kodlarını eklemek isterseniz, bu kodu ilgili bölüme ekleyebilirsiniz.

Bu düzeltilmiş betik, Synology cihazınızın başlangıcında Python betiğinizi otomatik olarak çalıştırmalıdır.

Mesaj 1 defa düzenlendi. Son düzenleyen: OFffLaZZzz (16.10.2023 20:32)

 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al