LINUX.ORG.RU

5
Всего сообщений: 267

cron юзера запуск скрипт без требования sudo

есть скрипт
* * * * * /home/xxx/startifdown.sh
но на его запуск надо писать sudo пользователю и крон его изза этого не запускает.
Как быть?
если так и писать * * * * * sudo /home/xxx/startifdown.sh
то программа запустится но резултат ее работы доступен будет только из рута

 

Regacar ()

cron не выполняет задания

Добрый день. У меня возникла проблема, крон в логах отчитывается о выполнении задания, но само задание как таковое не выполняется. Содержимое крона:

2 * * * * php /var/www/html/ExportItera/try.php

3 * * * * php /var/www/html/cronscripts/tgAdapter.php

Задания выполняются от имени пользователя. При выполнении tgAdapter.php должны прийти сообщения в телеграм, но этого не происходит. По выполнении try.php должна обновиться таблица в БД Mysql. Этого тоже не происходит.

Пробовал:

  • выполнять задачи от рута, www-data
  • менять php на curl http://...
  • указывать абсолютные пути на пхп
  • гуглить…

От имени пользователя в консоли команды выполняются быстро и без проблем. Юзермейл пустой. Логи никаких намеков на ошибки или варнинги не содержат. Файлы скриптов исполняемые. Права на скрипты 0777. Всю голову уже сломал. Из-за чего это может быть? ОС Ubuntu server 20.04.

 ,

Bear_Grylls ()

Время выполнения крон скрипта

php команды ini_set(‘max_execution_time’, ‘1400’); set_time_limit(1400);

Не дают эффекта Проверял echo ini_get(‘max_execution_time’); у меня всегда выдает 120

120 задано в php_admin_value max_execution_time

Но мне надо изменять время для скрипта на хостинге к настройкам которого у меня нет доступа

Есть только возможность изменить htaccess И мне не надо менять время выполнения для всех скриптов

Только для крона Что можно сделать ?

 

mirek ()

Cron и диапазон времени

Приветствую!

Не могу найти примеров, как выполнить команду в диапазоне между 12 и 18 часами один раз? Т.е в рандомное время между 12 и 18.

 

D3306 ()

Быстро забивается syslog

Доброго дня суток!

Подскажите пожалуйста у меня машинка срет логами в каталог /var/log/syslog и в течение нескольких минут забивает диск до 100%

Ошибки такого плана:

WARNING [EventEpisodesService] Episode lifespan manager failed with:#012Traceback (most recent call last):#012 File «/opt/ffsecurity/lib/python3.6/site-packages/django/db/backends/base/base.py», line 234, in _cursor#012 return self._prepare_cursor(self.create_cursor(name))#012 File «/opt/ffsecurity/lib/python3.6/site-packages/django/db/backends/postgresql/base.py», line 218, in create_cursor#012 cursor = self.connection.cursor()#012psycopg2.InterfaceError: connection already closed#012#012The above exception was the direct cause of the following exception:#012#012Traceback (most recent call last):#012 File «/opt/ffsecurity/lib/python3.6/site-packages/ffsecurity/asgi/services/event_episodes.py», line 284, in episode_lifespan_manager#012 for episode in episode_qs:#012 File «/opt/ffsecurity/lib/python3.6/site-packages/django/db/models/query.py», line 268, in __iter__#012 self._fetch_all()#012 File «/opt/ffsecurity/lib/python3.6/site-packages/django/db/models/query.py», line 1183, in _fetch_all#012 self._result_cache = list(self._iterable_class(self))#012 File «/opt/ffsecurity/lib/python3.6/site-packages/django/db/models/query.py», line 54, in __iter__#012 results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)#012 File «/opt/ffsecurity/lib/python3.6/site-packages/django/db/models/sql/compiler.py», line 1059, in execute_sql#012 cursor = self.connection.cursor()#012 File «/opt/ffsecurity/lib/python3.6/site-packages/django/db/backends/base/base.py», line 255, in cursor#012 return self._cursor()#012 File «/opt/ffsecurity/lib/python3.6/site-packages/django/db/backends/base/base.py», line 234, in _cursor#012 return self._prepare_cursor(self.create_cursor(name))#012 File «/opt/ffsecurity/lib/python3.6/site-packages/django/db/utils.py», line 89, in __exit__#012 raise dj_exc_value.with_traceback(traceback) from exc_value#012 File «/opt/ffsecurity/lib/python3.6/site-packages/django/db/backends/base/base.py», line 234, in _cursor#012 return self._prepare_cursor(self.create_cursor(name))#012 File «/opt/ffsecurity/lib/python3.6/site-packages/django/db/backends/postgresql/base.py», line 218, in create_cursor#012 cursor = self.connection.cursor()#012django.db.utils.InterfaceError: connection already closed

Как можно решить проблемку?

 , , ,

troy856 ()

cron на последний день месяца

Хочу настроить вызов процедуры на последнее число месяца

Панель на хостинге такая https://i.ibb.co/nCksHC5/cron.jpg

Ну и как это сделать?

Тех. поддержка хостинга ответила Точно сказать нельзя, нужно самостоятельно экспериментировать

Честные ребята)

 

mirek ()

Медленное выполнение скрипта при запуске через Cron

Добрый день! Есть скрипт, задача которого взять текстовый «файл 1», каждую его строку обрезать под совпадение по регулярному выражению и результат добавить в «файл 2». Если скрипт запускать руками, то он выполняется секунд 20-30. Если процесс запускается через cron или systemd, то время выполнения скрипта растягивается до 10 минут. С правами все хорошо, когда скрипт запускается через cron или systemd, то «файл 2» создается, но его размер набегает крайне медленно. Не могу понять почему. Подскажите, куда хотя бы покопать для анализа такой «фишки»?

 , ,

kes83 ()

Скрипт крона, выполняющий команды в screen

Приветствую! Помогите, прошу, в написании скриптов не силен. У меня есть задача в планировщике, где указан скрипт, что выполняет команду в скрине. Вот он:

#!/bin/bash
echo `date`;
/usr/bin/screen -S NameScreen -X eval 'stuff "command1"\015';
echo Скрипт успешно выполнен!
echo --------------------------------

Проблема в следующем: Скрипт хорошо срабатывает, если скрин запущен с под рута, но не работает, если его создать с другого пользователя.

Помогите разобраться, в чем причина?? Как переписать этот скрипт под другого пользователя?

 , ,

SilverFalconi ()

Cron не запускает скрипт airmon-ng

есть скрипт zapscan.sh #!/bin/bash airmon-ng start wlan0 airodump-ng -w /root/bac/27 wlan0mon

лежит по пути /usr/bin/zapscan.sh в терминале запускается. в cron не хочет 30 * * * * DISPLAY:0 /usr/bin/zapscan.sh

Что дописать в скрипте zapscan.sh и в cron, чтобы он: -стартовал, -работал 30 минут, -затем давалась команда airmon-ng stop wlan0mon, -через 3 минуты опять стартовал zapscan.sh

 ,

fishdimka ()

настройка cron

CentOS 7 с поднятым ngin + php-fpm + bitrix

Есть задача, перевести всех агентов bitrix на cron

В проверке системе в bitrix есть ошибка: Ошибка! Не настроен запуск cron_events.php на cron, последний агент отработал больше суток назад.

Информация по ней:

Чтобы перенести работу непериодических агентов (и передачу почты) на cron, необходимо в /bitrix/php_interface/dbconn.php установить константу: define(‘BX_CRONTAB_SUPPORT’, true);

После этого на хитах будут выполняться только периодические агенты. Затем в cron поставить задание на ежеминутный запуск скрипта /var/www/bitrix/modules/main/tools/cron_events.php. (замените /var/www на свой путь к корню сайта).

Внутри скрипта определена константа BX_CRONTAB, которая является индикатором того, что скрипт работает из cron и приводит к выполнению только непериодических агентов. Если эта константа ошибочно определена в dbconn.php, периодические агенты полностью перестают выполняться.

Сделал, как указано, но агенты так и не переводятся. Конфиг в cron:

*/1 * * * * /usr/bin/php -f /web/sites/bitrix.site.ru/www/bitrix/modules/main/tools/cron_events.php

crontab -l выводит пустую строчку

 

shypa ()

Vesta cron бэкап в Mega

Centos 7 + Vesta.
Есть программа для linux megacmd.

Если запускать от root, то команды бэкапа выглядят примерно так:

#зашли в мегу
mega-login login@gmail.com Password
#отправим архив
mega-put /home/backup/backup_full/*tar.gz -c /Full_backups/
#разлогинимся
mega-logout
#удалим файл
rm -rf /home/backup/backup_full/*tar.gz

Но мне нужно, чтобы скрипт добавлялся в cron панели vesta, а там задачи выполняются от admin. Поэтому когда от admin запускаешь команды - выдает:

Another instance of Megacmd Server is running.

В идеале должно работать так:

  1. Создается бэкап системой vesta.
  2. Выгружается в мегу.
  3. Удаляется последний бэкап.

А я уже в cron весты могу настроить цикличность данного процесса.

Внимание - вопросы:

  1. Как мне из cron от admin запускать такого рода скрипт?
  2. Могу ли я в vesta при создании бэкапа в конце скрипта после создания дописать отправку на mega и удаление бэкапа?

Благодарю за внимание!

 , ,

mihacb ()

systemd выделывается?

Система Pop_OS!, фактически клон убунту 19.10. Прилетела огромная пачка обновлений системных файлов. Установлены. Итог, крон не работает. Точнее крон типа работает, сервис его стартует, скрипт сам по себе тоже не менялся и работает, если запустить его вручную, но не работает. До последнего обновления все работало раз 9 из 10, теперь 0 из 10 загрузок.

grep CRON /var/log/syslog

Mar 9 21:56:27 computer cron[1185]: (CRON) INFO (pidfile fd = 3)

Mar 9 21:56:27 computer cron[1185]: (CRON) INFO (Running @reboot jobs)

Mar 9 21:56:27 computer CRON[1253]: (root) CMD (/bin/myscript.sh)

Mar 9 21:56:27 computer CRON[1210]: (CRON) info (No MTA installed, discarding output)

Где копать?

 ,

explorer ()

Не отрабатывает скрипт через Cron

Здравствуйте, уважаемые коллеги! Может быть, кто-то сможет подсказать? Есть CentOS 7.7 + Vesta CP.

Написан простейший скриптик для проверки сайтов на вирусы: d=«$(date +»%d-%m-%Y %H:%M")" mkdir «/home/admin/ai-bolit/reports/one_report/$d» php /home/admin/ai-bolit/ai-bolit.php –size=10000K –mode=2 –quarantine –path=/home/admin/ –report=/home/admin/ai-bolit/reports/one_report/«$d»/Full_Report_«$d».html

При запуске от root из консоли: sh /home/admin/ai-bolit/check_all/check_one_report.sh Все отрабатывает на ура.

Но при добавлении в cron sh /home/admin/ai-bolit/check_all/check_one_report.sh

Создается только папка вида «28-02-2020 21:18» и все. Причем в папку зайти не получается. (В файл-менеджере папка есть, но при открытии выдает ошибку - Directory /home/admin/ai-bolit/reports/one_report/28-02-2020 21:18: no such file or directory)

Права на сам скрипт admin:admin, 755. Пробовал также вместо sh: bash, sudo, sudo root - бесполезно.

Тут в самом sh скрипте еще встроенный php скрипт.

Кто знает, в чем может быть проблема?

 , , ,

mihacb ()

Скипт при автозапуске Linux

Всем привет! Хочу перекинуть все типичные задачи на авто-выполненение. В интернете наткнулся на cron. (cron — классический демон, использующийся для периодического выполнения заданий в определённое время.)

Прописываю все скрипты с помощь:
crontab -e

Там есть уже два скрипта:
#!/bin/bash
@reboot /root/Documents/lin/mon
@reboot /root/Documents/lin/up

Указал время выполнения скрипта как: @reboot - при запуске системы.

Вот путь и скрипт который не срабатывает: /root/Documents/lin/mon

#!/bin/bash
#Ложим устройство wlan1
ifconfig wlan1 down
#И переводим в режим монитора
airmon-ng start wlan1

После этого проверяю устройство но оно не переходит в режим монитора. Заранее спасибо.

 , , , ,

GreyBird ()

Расскажите, пожалуйста, о вашем опыте замены cron на systemd

Что стало лучше? Какие ждут подводные камни?

Мне понравилась, что таймеры устанавливаются как отдельные файлы, а значит их как отдельные файлы будет проще устанавливать при помощи пакетного менеджера, чем добавлять строчку в ОБЩИЙ файл.

 ,

Einstok_Fair ()

Всего 2 часа в день

Просьба к мастерам программного жанра: смастерите, пожалуйста, на бешике простенький скрипт, который ограничивал бы работу на ноуте не более 2 часов в сутки. Что-то вроде глобального timeout.

Нужно, чтобы дети не пересиживали за компом лишнее, а то как дорвутся до него, так не отгонишь :)

 , ,

chukcha ()

Не до конца понимаю cron

Вот объясните, cron выполняет по таймингу 2 типа заданий: задания системы и задания пользователей.
Задания системы прописываются в файле /etc/crontab, задания пользователей через команду crontab, в какой файл задания, добавленные через команду, в результате записываются? Ещё есть скрипты в каталогах /etc/cron.hourly, /etc/cron.daily эти скрипты выполняются от рута, правильно? Ещё есть файл /etc/anacron, зачем он нужен если есть /etc/crontab ?
Как найти все задания всех пользователей, которые есть в системе?

 

Isur ()

Настройка CRON

Скрипт пингует адрес и если не проходит прописывает маршрут. Я его запускаю, всё нормально. Если указываю запускать по расписанию CRON ,скрипт отрабатывает но маршрут не прописывается. Подскажите , куда смотреть ?

 ,

ChipT ()

Проблема с cron

Здравствуйте. Нужна помощь с cron. Есть скрипт: /usr/local/bin/rsync_checks.sh

Код:

#!/usr/bin/env bash

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin/usr/bin

SHELL=/bin/sh

S_LOGIN=‘DocScheduler’

S_PASS=‘ETe54ye879hoeD’

SERVER=‘192.168.10.99’

SOURCE_DIR=‘/volume1/TtDoc/’

DEST_DIR=‘/home/mb/tt_data2/’

sshpass -p $S_PASS rsync -avzhe ssh $S_LOGIN@$SERVER:$SOURCE_DIR $DEST_DIR

Скрипт прекрасно работает под моим пользователем, так и под root, но не хочет работать через cron.

crontab -l :

*/1 * * * * rsync_checks.sh >> /var/log/rsync_checks.log

В syslog только:

Dec 6 19:41:01 s-file2 CRON[9209]: (borkhalenko) CMD (rsync_checks.sh >> /var/log/rsync_checks.log) Dec 6 19:41:01 s-file2 CRON[9208]: (CRON) info (No MTA installed, discarding output) Dec 6 19:42:01 s-file2 CRON[9211]: (borkhalenko) CMD (rsync_checks.sh >> /var/log/rsync_checks.log) Dec 6 19:42:01 s-file2 CRON[9210]: (CRON) info (No MTA installed, discarding output)

Файл /var/log/rsync_checks.log не создается, результата работы скрипта нет

Буду блаодарен за любую помощь

 , ,

borkhalenko ()

Начала вдруг тормозить загрузка

Всех приветствую! Ребята подскажите что может быть- Вдруг при загрузке системы начались тормоза, а именно один из процессов долго чего то думает, т.к. вывод загрузки у меня включен то торможение наблюдаю за выполнением следующего процесса с ообщением: (1 of 3) A start job is running for Wait for chrony to synchronize system clock (XX min XX sec/ no limit) (2 of 3) A start job is running for Update for cron periods from /etc/sysconfig/btrfsmaintenance (XX min XX sec/ no limit) (3 of 3) A start job is running for Hold until boot process finishes up (XX min XX sec/ no limit) XX - некоторое значение времени, и так эти мессаги поочереди крутятся минут десять

Из перевода мессаг ясно что служба cron (так вроде) не может синхронизировать время, только я этим кроном не пользуюсь и мне нужно чтобы загрузка системы ни в коем случае не задерживалась, пускай система сначала загрузится а потом уже разбирается что у неё там не синхронизировалась, как убрать эту задержку ? Система Opensuse Tumbleweed

 , ,

barmaley99 ()