Gönderen Konu: [Çözüldü] Crontab ile zamanlanmış bash script çalıştırma sorunu  (Okunma sayısı 2532 defa)

Çevrimdışı darksource

  • Yeni Penguen
  • *
  • İleti: 35
  • Dağıtım: Arch Linıx
  • Masaüstü Ortamı: Awesome wm
  • Grafik Kartı: nvdia 2gb 950m paylaşımsız
  • İşlemci: intel 6th i7 6700HQ
Öncelikle merhaba,
Kullandığım dağıtım arch linux  pencere yöneticisi olarak awesome wm kullanıyorum.Crontab ile bataryanın durumuna göre şarjı tak şarjı çıkar bildirimi gönderen küçük basit bir script yazdım.Crontab ile bu scripti 1 dakikada bir çalıştırmak istiyorum ama çalıştıramadım konu hakkında bilgisi olan yardımcı olursa sevinirim.İyi çalışmalar.

Kod: [Seç]
systemctl status cronie.service
● cronie.service - Periodic Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/cronie.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2019-06-14 15:29:02 UTC; 2h 27min ago
 Main PID: 24686 (crond)
    Tasks: 1 (limit: 4915)
   Memory: 3.3M
   CGroup: /system.slice/cronie.service
           └─24686 /usr/bin/crond -n

Jun 14 17:53:01 Arch CROND[27004]: pam_unix(crond:session): session closed for user abdux
Jun 14 17:54:01 Arch crond[27083]: pam_unix(crond:session): session opened for user abdux by (uid=0)
Jun 14 17:54:01 Arch CROND[27084]: (abdux) CMD (/home/abdux/ex.sh)
Jun 14 17:54:01 Arch CROND[27083]: pam_unix(crond:session): session closed for user abdux
Jun 14 17:55:01 Arch crond[27104]: pam_unix(crond:session): session opened for user abdux by (uid=0)
Jun 14 17:55:01 Arch CROND[27105]: (abdux) CMD (/home/abdux/ex.sh)
Jun 14 17:55:01 Arch CROND[27104]: pam_unix(crond:session): session closed for user abdux
Jun 14 17:56:01 Arch crond[27122]: pam_unix(crond:session): session opened for user abdux by (uid=0)
Jun 14 17:56:01 Arch CROND[27123]: (abdux) CMD (/home/abdux/ex.sh)
Jun 14 17:56:01 Arch CROND[27122]: pam_unix(crond:session): session closed for user abdux

Kod: [Seç]
cat /var/spool/cron/abdux
* * * * * /home/abdux/ex.sh

Kod: [Seç]
$ cat ex.sh
#!/bin/bash

capacity="/sys/class/power_supply/BAT0/capacity"
AC="/sys/class/power_supply/BAT0/status"

while read line; do
str=$line
done < $capacity

while read a; do
isac=$a
done < $AC



if [ $str -lt 30 ] && [ $isac == 'Discharging' ]

then
`notify-send "Plug in AC YOUR CHARGE IS $str"`
        `paplay ~/.batteryeffect/pluginsound.ogg`

elif [ $str -gt 80 ] && [ $isac == 'Charging'  ]

then
`notify-send "Unplug in AC YOUR CHARGE IS $str"`
`paplay ~/.batteryeffect/unplugsound.ogg`

fi
« Son Düzenleme: 14 Haziran 2019, 20:16:42 Gönderen: darksource »

Çevrimdışı Butterfly

  • Proje Sorumlusu
  • Guru
  • *****
  • İleti: 18863
  • Linux Mint Türkiye
  • Dağıtım: Linux Mint 20 & LMDE 4
  • Masaüstü Ortamı: Cinnamon 4.6 & Xfce 4.14
  • Grafik Kartı: Nvidia GF 9500
  • İşlemci: AMD X3
Ynt: Crontab ile zamanlanmış bash script çalıştırma sorunu
« Yanıtla #1 : 14 Haziran 2019, 19:42:23 »
Size de merhaba,

Crontab yerine systemd-timer kullansanız daha uygun olabilir. Burada hazır dosyalar mevcut, nasıl kurulacağı da anlatılıyor.
« Son Düzenleme: 14 Haziran 2019, 19:45:05 Gönderen: Butterfly »
Elimizden geldiğince dilimizin döndüğünce...

[info] Konu Açarken Dikkat Edilmesi Gerekenler  |  Forum Kuralları  |  Kod Etiketi Kullanımı[/info]

Çevrimdışı darksource

  • Yeni Penguen
  • *
  • İleti: 35
  • Dağıtım: Arch Linıx
  • Masaüstü Ortamı: Awesome wm
  • Grafik Kartı: nvdia 2gb 950m paylaşımsız
  • İşlemci: intel 6th i7 6700HQ
Ynt: Crontab ile zamanlanmış bash script çalıştırma sorunu
« Yanıtla #2 : 14 Haziran 2019, 20:16:11 »
Alternatifini önerdiğiniz için teşekkür ederim.Systemd timer ı denemiştim ama kendi ev dizinine oluşturmamıştım galiba ondan yapamadım.Konuyu çözüldü olarak işaretliyorum.