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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Cron [Решено]  (Прочитано 1635 раз)

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

Оффлайн radiomonter

  • Автор темы
  • Забанен
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Cron [Решено]
« : 07 Января 2020, 22:44:57 »
Помогите в сервере. Я новичек новичок. Нужно создать задачю задачу на выполнение команд.
Первая: перейти в каталог /srv/tankionline/в консоли я ввожу cd /srv/tankionline/Потом в этом же каталоге нужно запустить команду java -Dfile.encoding=UTF8 -server -jar server.jarдля этого достаточно в этой папке запустить файл Server_run.sh (с этой же командой внутри), и, погодя минуту, в этом же каталоге нужно запустить файл  securityServer_run.sh; в этом файле находиться находится команда java -Dfile.encoding=UTF8 -server -jar securityServer.jarитак получаетьсяИ так получается /srv/tankionline/Server_run.sh и /srv/tankionline/securityServer_run.sh эти 2 файла должны запуститься в полночь каждый день.
Как это сделать в кроне?

Цитировать
Правила форума
2. На форуме ЗАПРЕЩЕНО
2.9. Намеренно искажать слова, а так же использовать жаргон. Цените культуру речи. Неумение общаться на своём языке никого не красит. Кроме того постарайтесь не допускать грамматических и синтаксических ошибок.
+5% с уведомлением в ЛС (т.к. автор предупрежден, и предупреждение проигнорировал). Исправлена речь, вставлены запятые, модифицировано форматирование.
 --zg_nico
« Последнее редактирование: 18 Марта 2020, 12:36:31 от zg_nico »
Non seulement l'achat de kamagra est illГ©gal, mais il existe Г©galement des risques pour la santГ© pharmacie peuple mal fusionnГ© pour vivre plus d'annГ©es.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6723
  • 20% Cooler
    • Просмотр профиля
Re: Cron
« Ответ #1 : 07 Января 2020, 22:53:59 »
crontab -e
0 0 * * * /usr/bin/java -Dfile.encoding=UTF8 -server -jar /srv/tankionline/server.jar
1 0 * * * /usr/bin/java -Dfile.encoding=UTF8 -server -jar /srv/tankionline/securityServer.jar

(Нажмите, чтобы показать/скрыть)
🖥 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

Оффлайн radiomonter

  • Автор темы
  • Забанен
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron
« Ответ #2 : 08 Января 2020, 00:21:07 »
Спасибо. А как дальше все это автаматизировать автоматизировать? Ну я пологаю полагаю нужно создать какой-то файл, и туда все это запихнуть, и сделать его исполняемым?
Цитировать
Правила форума
2. На форуме ЗАПРЕЩЕНО
2.9. Намеренно искажать слова, а так же использовать жаргон. Цените культуру речи. Неумение общаться на своём языке никого не красит. Кроме того постарайтесь не допускать грамматических и синтаксических ошибок.
+5% с уведомлением в ЛС (т.к. автор предупрежден, и предупреждение проигнорировал). Исправлена речь, вставлены запятые, модифицировано форматирование.
 --zg_nico
« Последнее редактирование: 11 Января 2020, 08:40:50 от zg_nico »
Non seulement l'achat de kamagra est illГ©gal, mais il existe Г©galement des risques pour la santГ© pharmacie peuple mal fusionnГ© pour vivre plus d'annГ©es.

Оффлайн darkbunny

  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
    • Zelsperion -Minecraft project (RPG)
Re: Cron
« Ответ #3 : 08 Января 2020, 02:45:33 »
Crontab это планировщик заданий. Повикипедируй его возможности.
Он стартует вместе с системой и работает постоянно.
Он как один большой скрипт х)

0 0 * * * /usr/bin/java -Dfile.encoding=UTF8 -server -jar /srv/tankionline/server.jar
Эта команда выполнится в ноль часов ноль минут и * каждый день , и в ней указан путь до исполнял ой Явы , параметры и путь до твоего сервера


1 0 * * * /usr/bin/java -Dfile.encoding=UTF8 -server -jar /srv/tankionline/securityServer.jar
Аналогично, только запуск этой команды будет в ноль часов одну минуту каждый день.
И это будет работать все время пока работает система, то есть запуск этих команд в назначеное время.
Команды выполняются если не ошибаюсь от root пользователя

Оффлайн radiomonter

  • Автор темы
  • Забанен
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron
« Ответ #4 : 08 Января 2020, 07:39:12 »
В PuTTY я ввожу команду crontab -eЗапускаеться Запускается редактор файла. Он мне неудобен, и тогда по ssh я нахожу этот файл; он висит в /tmp/crontab.3kSN0S/crontab. Странно, но как мне показалось что этот файл в данный момент времени запущен и работает. Может я и ошибаюсь. Я новичек новичок, и всех тонкостей еще не познал. Я открываю текстовым редактором (я пользуюсь notepaad++) мне так удобней.
Вот что там внутри:
(Нажмите, чтобы показать/скрыть)
насколько я понял, команды нужно в него и впихнуть внести.
Код: (bash) [Выделить]
0 0 * * * /usr/bin/java -Dfile.encoding=UTF8 -server -jar /srv/tankionline/server.jar
1 0 * * * /usr/bin/java -Dfile.encoding=UTF8 -server -jar /srv/tankionline/securityServer.jar
Вопрос: # ставить в начале строки, или не нужно?
Не сочтите за глупые вопросы, но погуглив, я не нашол нашёл ответы на свои вопросы. И как я понял, что нужно учиться на вот таких банальных вопросах.
Я сделал так:
(Нажмите, чтобы показать/скрыть)

Пользователь добавил сообщение 08 Января 2020, 07:47:03:
С редактором внешним не вышло.
Пришлось редактировать на внутренем внутреннем. Всё сохранил, и получилось. Как теперь все это проверить?
Пользователь добавил сообщение 08 Января 2020, 07:52:41:
В интернете из примеров я понял что # нужно убрать (это своего рода комент комментарий)
Пользователь добавил сообщение 08 Января 2020, 07:56:29:
Получилось так:
(Нажмите, чтобы показать/скрыть)
Еще вопрос: как настроить лог всех этих подключений?
Допустим, у меня есть папка /srv/log/Как там создать текстовый документ, и туда записывать все удачные и неудачные подключения  ранее описаных команд?
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 11 Января 2020, 08:53:44 от zg_nico »
Non seulement l'achat de kamagra est illГ©gal, mais il existe Г©galement des risques pour la santГ© pharmacie peuple mal fusionnГ© pour vivre plus d'annГ©es.

Оффлайн darkbunny

  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
    • Zelsperion -Minecraft project (RPG)
Re: Cron
« Ответ #5 : 08 Января 2020, 08:19:18 »
Содержимое файла можно полностью удалить оставив только команды. Там просто написано как пользоваться кроном. Если вначале стоит решетка (комментарий #) , то эта строка целиком пропускается. Чтобы сделать вывод  команд допиши в конец команды (разумеется не слитно)
>> /srv/log/name.log
Где name - имя твоего лога.
Но все это не точно . Я тоже новичок  :D
А, и еще погугли что такое Ubuntu nano . Ну в смысле это текстовой редактор , очень упростит тебе жизнь , и не такой ужасный как vim редактор. Там просто когда первый раз пишешь crontab -e , он спрашивает какой редактор использовать по умолчанию

Оффлайн radiomonter

  • Автор темы
  • Забанен
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron
« Ответ #6 : 08 Января 2020, 09:17:07 »
(Нажмите, чтобы показать/скрыть)
Так я вставил команды правильно?
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 08 Января 2020, 16:43:24 от zg_nico »
Non seulement l'achat de kamagra est illГ©gal, mais il existe Г©galement des risques pour la santГ© pharmacie peuple mal fusionnГ© pour vivre plus d'annГ©es.

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1748
    • Просмотр профиля
Re: Cron
« Ответ #7 : 08 Января 2020, 09:51:25 »
я нахожу этот файл он висит в /tmp/crontab.3kSN0S/crontab

Для начала, вам нужно получить базовые знания по linux, хотя бы школьный курс. Или внимательно прочитать "Ответ #1".
Единственное дополнение: чтобы редактировать кронтаб от имени root, используйте sudo:
sudo crontab -e

Оффлайн radiomonter

  • Автор темы
  • Забанен
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron
« Ответ #8 : 08 Января 2020, 10:07:22 »
чтобы редактировать кронтаб от имени root, используйте sudo:
sudo crontab -e
Странно: я вводил без sudo, и потом открывал заново, чтоб убедиться что записалось все. Да моих познания малы. Огромное Вам спасибо, что помогаете мне. Надеюсь, что эти уроки мне очень помогут расширить круг моих знаний.

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 11 Января 2020, 08:58:16 от zg_nico »
Non seulement l'achat de kamagra est illГ©gal, mais il existe Г©galement des risques pour la santГ© pharmacie peuple mal fusionnГ© pour vivre plus d'annГ©es.

Оффлайн darkbunny

  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
    • Zelsperion -Minecraft project (RPG)
Re: Cron
« Ответ #9 : 08 Января 2020, 12:06:28 »
Так я вставил команды правильно?
Вроде да, тестируй :)

Оффлайн New_Zatvornik

  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Re: Cron
« Ответ #10 : 08 Января 2020, 12:30:37 »
Странно я вводил без sudo и потом открывал заново чтоб убедиться что записалось все.

Команда crontab -e без sudo - редактирует пользовательский cron (задания в нем выполняются с правами пользователя), а команда sudo crontab -e - редактирует другой, системный cron, в котором задания выполняются с правами root. В одних случаях нужно одно, в других - другое.  ;)
« Последнее редактирование: 08 Января 2020, 12:34:46 от New_Zatvornik »

Оффлайн darkbunny

  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
    • Zelsperion -Minecraft project (RPG)
Re: Cron
« Ответ #11 : 08 Января 2020, 13:10:42 »
действительно так  :-[ совсем забыл  :)

Оффлайн Usermaster

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2581
    • Просмотр профиля
Re: Cron
« Ответ #12 : 08 Января 2020, 14:50:10 »
0 0 * * * /usr/bin/java -Dfile.encoding=UTF8 -server -jar /srv/tankionline/server.jar
1 0 * * * /usr/bin/java -Dfile.encoding=UTF8 -server -jar /srv/tankionline/securityServer.jar

Если утилита сервера графическая то скорее всего так работать не будет.
Надо export DISPLAY=:0 && ещё в комманду запихнуть.

* 0 */1 * * vasyapupkin export DISPLAY=:0 && /usr/bin/java -Dfile.encoding=UTF8 -server -jar /srv/tankionline/server.jar
1 0 */1 * * vasyapupkin export DISPLAY=:0 && /usr/bin/java -Dfile.encoding=UTF8 -server -jar /srv/tankionline/securityServer.jar

Как то так возможно.
« Последнее редактирование: 08 Января 2020, 15:09:37 от Usermaster »
А чего это вы тут делаете, а?

Оффлайн radiomonter

  • Автор темы
  • Забанен
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron
« Ответ #13 : 08 Января 2020, 17:44:30 »
* 0 */1 * * vasyapupkin export DISPLAY=:0 && /usr/bin/java -Dfile.encoding=UTF8 -server -jar /srv/tankionline/server.jar
можно поподробней что вы имеете ввиду под запросом
vasyapupkin export DISPLAY=:0 && может вы имеете ввиду пользователя? он у меня root

Пользователь добавил сообщение 08 Января 2020, 17:45:39:
Команда crontab -e без sudo - редактирует пользовательский cron (задания в нем выполняются с правами пользователя), а команда sudo crontab -e - редактирует другой, системный cron, в котором задания выполняются с правами root. В одних случаях нужно одно, в других - другое.
Спасибо за урок учту и перепишу от sudo.

Пользователь добавил сообщение 08 Января 2020, 17:51:16:
Если утилита сервера графическая то скорее всего так работать не будет.
Надо export DISPLAY=:0 && ещё в комманду запихнуть.
Мне тяжело размышлять как это графическая.Я все ранее запускал в консоли.Сервер у меня на VDS без графической оболочки.
« Последнее редактирование: 09 Января 2020, 10:39:59 от radiomonter »
Non seulement l'achat de kamagra est illГ©gal, mais il existe Г©galement des risques pour la santГ© pharmacie peuple mal fusionnГ© pour vivre plus d'annГ©es.

Оффлайн Usermaster

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2581
    • Просмотр профиля
Re: Cron
« Ответ #14 : 08 Января 2020, 21:03:32 »
Vasyapupkin - для примера.
Задачи в системном cron можно не только от root запускать.
В зависимости от задачи.
А это:
export DISPLAY=:0 &&
добавляется если надо прогу с gui через cron запустить.
Например запустить vlc.
Ну раз gui нет и сервер консольный то и не надо этого.

Итого в вашем случае можно сделать так:
sudo nano /etc/crontabА туда:
* 0 */1 * * root /srv/tankionline/Server_run.sh
1 0 */1 * * root /srv/tankionline/securityServer_run.sh
Можно и вышеприведёнными способами добавить.
Это уже от задачи и желания.
« Последнее редактирование: 08 Января 2020, 21:53:32 от Usermaster »
А чего это вы тут делаете, а?

 

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