Проигрывание аудио с заданиями крона

Я пытаюсь добавить новую команду к своей собственной оболочке, такой как:

alarm 7.15 music.wav

Я хочу создать задание крона, таким образом, оно может планировать предупреждение ежедневно в данное время. Так, я создаю файл для каждого вызова предупреждения, названного musicFile.txt

Вот мой файл удара для выполнения: (musicFile.txt)

#!/bin/bash 
15 7 * * * XDG_RUNTIME_DIR=/run/user/$(id -u) play -q /home/harun/Desktop/music.wav > alarmFile 
crontab alarmFile 
rm -f alarmFile 
rm -f musicFile.txt 

И я выполняю этот комментарий с execvp:

bash musicFile.txt

Однако ничего не происходит. Как я должен поставить будильник с crontab?

1
задан 2 March 2020 в 13:55

1 ответ

В моем случае я выполняю crontab использование текущего сеанса пользователя:

$ crontab -e

* * * * * /usr/bin/play -q /home/user/test/bell.wav

Это делает звук, играющий каждую минуту.

Сначала попытайтесь использовать более простые команды.

Если Вы хотите настроить предупреждение для различных пользователей, Вы могли бы использовать crontab -e от их терминальных сеансов. Для переключения на другой пользовательский терминальный сеанс использовать su username команда.

Но, лучше, вместо того, чтобы использовать команды с параметрами в crontab, используйте сценарий и укажите его путь в crontab. Не забывайте chmod +x yourscriptpath и также, не забывайте указывать полные пути к двоичным файлам и проверять Ваши сценарии путем выполнения sh pathtoyour/script.sh

Если Вы могли бы выполнить следующее в терминале:

XDG_RUNTIME_DIR=/run/user/$(id -u) play -q /home/harun/Desktop/music.wav > alarmFile 
crontab alarmFile 
rm -f alarmFile 
rm -f musicFile.txt 

Затем Вы могли попытаться добавить его в своем crontab файле crontab -e выполнение команды и путем редактирования его:

15 7 * * * XDG_RUNTIME_DIR=/run/user/$(id -u) play -q /home/harun/Desktop/music.wav > /home/harum/alarmFile && /bin/rm -f /home/harun/alarmFile && /bin/rm -f /home/harum/musicFile.txt 

Чтобы проверить, работает ли это теперь, просто замените 15 7 * *.

Создание сценария:

vim.tiny /home/harum/alarm.sh

#!/bin/bash
XDG_RUNTIME_DIR=/run/user/$(id -u) play -q /home/harun/Desktop/music.wav > /home/harum/alarmFile && /bin/rm -f /home/harun/alarmFile && /bin/rm -f /home/harum/musicFile.txt

Создание исполняемого файла сценария:

chmod +x /home/harum/alarm.sh

Добавление сценария к crontab:

crontab -e

15 7 * * * /home/harum/alarm.sh
1
ответ дан 17 March 2020 в 00:10

Другие вопросы по тегам:

Похожие вопросы: