Saya memiliki notify.sh
skrip yang terlihat seperti:
notify-send "hi welcome"
Notifikasi crontab saya selama 2 siang:
0 14 * * * home/hacks/notify.sh
Namun, ini tidak berhasil. Apa masalahnya?
Skrip Anda tidak memiliki #! baris di awal, yang merupakan keajaiban yang ditafsirkan oleh kernel untuk mengatakan interpreter perintah mana yang akan digunakan untuk skrip.
Jadikan seperti ini:
#!/bin/sh
notify-send "hi welcome"
dan pastikan skrip dapat dieksekusi:
ls -l home/hacks/notify.sh
chmod +x home/hacks/notify.sh
ls -l home/hacks/notify.sh
Juga, karena Anda meminta hal ini terjadi sekali sehari, apakah zona waktu crontab sama dengan zona waktu Anda sendiri? Anda mungkin menemukan ini terjadi pada pukul 14:00 GMT.
Membuat crontab berjalan mudah saja. Di sini saya akan mengatakan bagaimana menjalankan pekerjaan crontab. Ini berguna untuk siapa saja yang terjebak di crontab.
Untuk membuat skrip dapat dieksekusi, kita harus melakukan:
Di sini saya menjalankan skrip ini untuk setiap satu menit ... Dengan melakukan skrip di bawah ini, Anda dapat menulisnya dalam file log untuk mengetahui apakah itu berfungsi
menulis log
kirim email
sumber
4 hipotesis:
daemon cron tidak berjalan (lakukan a
ps axfww | grep cron
dan periksa)notify-send mencoba mengirim output ke terminal, atau sesi X - tetapi dijalankan dari dalam
cron
lingkungan dan tidak tahu "siapa yang harus diajak bicara", jadi untuk berbicara.skrip Anda tidak dapat dieksekusi
yang
home/
jalan dalam naskah crontab adalah relatif terhadap pengguna script dijalankan sebagai. Coba gunakan path lengkapsumber
Tambahkan di
export DISPLAY=:0
atas baris notify-send di skrip Anda. Ini membahas poin kedua lornezog.sumber
Anda harus membuka crontab dengan perintah berikut:
Ini akan menjalankan skrip Anda satu jam sekali dari jam 8 pagi - 3 sore di jam 10 menit melewati jam setiap hari Senin, Rabu dan Jumat.
sumber
Pertama-tama, kita perlu mengedit crontab dengan Command
crontab -e
dan daripada Di dalam iniCrontab
tambahkan script Path of Executable dan dalam Kasus Anda seperti ini* 14 * * * home/hacks/notify.sh >/dev/null 2>&1
.Mulai / Berhenti / mulai ulang layanan cron
/etc/init.d/crond start /stop / restart
service crond start /stop /restart
systemctl stop crond.service
systemctl stop crond.service
sumber
cukup sederhana, tambahkan baris berikut di bagian bawah file crontab melalui:
sudo nano /etc/crontab
@reboot root cd /home/pi/node-sonos-http-api && npm start &
sumber