Форум русскоязычного сообщества Ubuntu


Автор Тема: Вопросы по Crontab: создание,расположение, запуск программ  (Прочитано 11634 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн хейхо

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Читаю гугл про cron и crontab.

-Сделал: myvideo@serv:~$ crontab -eВ первый раз предложили выбрать редактор из списка. Так как полный ноль, выбрал по рекомендации Ubuntu какой-то GNU nano.
Затем закрыл редактор
-и сделал: myvideo@serv:~$ crontab -rПишет no crontab for myvideo

Вопросы:
1. Так понял, что ключ "е" создает crontab-файл с названием myvideo, под которым я набрал эту команду, и где-то в папке пользователя myvideo. Но из "no crontab for myvideo" следует, что файла не создано. Создано или не создано? :)
2. Пробовал пару дней назад, поэтому забыл - может быть я всё же после crontab указал название файла:( В гугле нахожу противоречивую инфу: то надо указывать, то просто crontab -e.
3. Как создать\пересоздать crontab-файл?
4. Читал по форумам, что нужно 2 crontab-файла создать. Первый - с расписанием, а во втором прописать какие-то переменные окружения и sh. Это так или просто бывают случаи, когда 2 файла нужно?


ТС не появлялся на Форуме более полугода по состоянию на 14/07/2019 (последняя явка: 20/12/2015). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 14 Июля 2019, 00:17:35 от zg_nico »

Оффлайн linuxoproblemi

  • Любитель
  • *
  • Сообщений: 80
    • Просмотр профиля
хейхо,
1. Файлы хранятся в /var/spool/cron/crontabs
2. Файл создаётся с именем пользователя. Ничего создавать самому не надо.
3. crontab -e он сам сделает всё, что ему надо. Вы просто допишите в конец ваши задачи.
4. Вы читали про запуск скриптов по крону. Имеется в виду, что в крон нужно прописать .sh скрипт, а в скрипте уже выполнять свои задачи. А не писать тело скрипта в крон.

Оффлайн хейхо

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
1. Файлы хранятся в /var/spool/cron/crontabs
Нашёл, спасибо. Правда в саму папку зайти нельзя - прав нет; Ubuntu не личная). В разных источниках по разному. В одном, например, писали про /var/cron/tabs. В "var" папки "cron" не нашёл.

Имеется в виду, что в крон нужно прописать .sh скрипт, а в скрипте уже выполнять свои задачи.
Нашёл такой пример: http://www.codenet.ru/webmast/php/cron.php

Цитировать
1.Создаем временный файл /home/user/test содержимое файла test такое:

SHELL=/bin/bash
MAILTO=user
0-59 * * * * /home/user/mail

2. Запускаем в терминале команду crontab /home/user/test
Все. После этого в каталоге /var/spool/cron будет создан файл "user" примерно с таким содержимым

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/home/user/test installed on Mon Mar 29 02:31:34 2004)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
SHELL=/bin/bash
MAILTO=user
0-59 * * * * /home/user/mail

Вы говорите, что ничего не нужно, только (1)открыть кронтаб-файл, дописать расписание и путь к .sh-файлу, и (2)написать сам .sh-файл. Запутался.

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5583
  • Все по палатам!
    • Просмотр профиля
Извините, я все еще учусь

Оффлайн linuxoproblemi

  • Любитель
  • *
  • Сообщений: 80
    • Просмотр профиля
хейхо,
Цитировать
в саму папку зайти нельзя - прав нет; Ubuntu не личная
Это вам надо какой-нибудь гайд новичка прочитать. В такие папки надо от рута ходить через команду sudo.
Да и с кроном у вас способ странный, сходите по ссылке SergeyIT.

Оффлайн хейхо

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Прочитал по ссылке. Переменные окружения пишутся в том же файле, где и расписание, но в моём кронтабе этого нет - пустой файл со строкой комментария: # m h dom mon dow command. Это нормально?

Делаю:
crontab -eВ файл добавляю, чтобы проверить, вывод в терминал каждую минуту:
*/1 * * * * echo "executing"Ничего не происходит. Либо выводит не в терминал, либо надо добавить какую-нибудь переменную окружения.
« Последнее редактирование: 21 Мая 2014, 16:44:20 от хейхо »

Оффлайн linuxoproblemi

  • Любитель
  • *
  • Сообщений: 80
    • Просмотр профиля
хейхо,
Ой какие странные потребности у вас. Крон никак не может узнать в какой терминал вы хотите сообщение, а их может быть любое количество.
Если вы хотите видеть вывод крона, могу предложить перенаправить вывод в файл.
На пример такое задание cron:
* * * * * /path/to/script.sh > /path/to/file.log 2>&1Каждую минуту будет выполняться /path/to/script.sh, а его вывод будет писаться в /path/to/file.log
А в терминале выполняем
tail -f /path/to/file.logИ каждую минуту будем видеть в терминале что происходит.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
хейхо,
*/1 * * * * /usr/bin/echo "executing `date`" >> /home/$USER/test
В домашней папке увидите файл test, в него будет записываться вывод команды
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн S.D. aka Xvost

  • Активист
  • *
  • Сообщений: 414
    • Просмотр профиля
00 12 * * * aplay /home/xvost/.program_files/SClock/12:00.wav # JOB_ID_14
Файл проигрывается по расписанию, но только если не проигрывается файл музыки или видео. При этом эта же команда ч/з терминал спокойно воспроизводит звук при работающих проигрывателях. Вопрос: какой ключ надо добавить, что бы и ч/з cron проигрывалось в любом случае?
Dell Inspiron 5758; Intel© Pentium© 3805U @ 1.90GHz × 2; Mesa Intel HD Graphics (BDW GT1)
Linux Mint 21 Cinnamon

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
S.D. aka Xvost,
экранировать надо, у вас спецсимволы в имени файла
00 12 * * * aplay '/home/xvost/.program_files/SClock/12:00.wav' # JOB_ID_14
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн S.D. aka Xvost

  • Активист
  • *
  • Сообщений: 414
    • Просмотр профиля
Вы меня не поняли. Задание выполняется и без экранирования. Но только если не работает устройство (аудиоплеер, видеоплеер, флеш-плеер в браузере) использующее звук. Вот и задача: как заставить задание выполняться при работающем устройстве, воспроизводящем звук?

На всякий случай: вариант с экранирование попробовал, желаемого результата нет.
Dell Inspiron 5758; Intel© Pentium© 3805U @ 1.90GHz × 2; Mesa Intel HD Graphics (BDW GT1)
Linux Mint 21 Cinnamon

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 4402
    • Просмотр профиля
хейхо,
чтоб не заморачиваться с командами в терминале, установи в Центре приложений gnome-schedule - GUI для настройки пользовательского cron (автоматического выполнения задач) в GNOME ::)

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
S.D. aka Xvost,
pulseaudio установлен?
А вообще, гляньте syslog - чего там по задаче пишет, либо сделайте так:
00 12 * * * aplay '/home/xvost/.program_files/SClock/12:00.wav' >> /home/xvost/cron.log 2>&1 и смотрите в домашнем кататалоге cron.log, чего там не так
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн S.D. aka Xvost

  • Активист
  • *
  • Сообщений: 414
    • Просмотр профиля
Сделал тестовое задание, при проигрывающемся ч/з проигрыватель треке лог:
Програвання WAVE '/home/xvost/.program_files/SClock/12:00.wav' : Signed 16 bit Little Endian, Частота 22050 Гц, МоноПроигрывания файла из задания по прежнему нет. Файл проигрывается спустя время после паузы или остановки трека на проигрывателе. Впечатление, что происходит ожидание, когда канал будет полностью свободен. Как от этого ожидания избавиться?
Dell Inspiron 5758; Intel© Pentium© 3805U @ 1.90GHz × 2; Mesa Intel HD Graphics (BDW GT1)
Linux Mint 21 Cinnamon

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
ну если так, скорее что-то в настройках пульса или алсы
попробуйте использовать вместо aplay что-то другое, mplayer например
и покажите весь крон
crontab -l 
« Последнее редактирование: 26 Сентября 2015, 17:35:43 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

 

Страница сгенерирована за 0.039 секунд. Запросов: 23.