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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

Оффлайн radiomonter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
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 »

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4708
  • Capture the truth
    • Просмотр профиля
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

(Нажмите, чтобы показать/скрыть)
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн radiomonter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Cron
« Ответ #2 : 08 Январь 2020, 00:21:07 »
Спасибо. А как дальше все это автаматизировать автоматизировать? Ну я пологаю полагаю нужно создать какой-то файл, и туда все это запихнуть, и сделать его исполняемым?
Цитировать
Правила форума
2. На форуме ЗАПРЕЩЕНО
2.9. Намеренно искажать слова, а так же использовать жаргон. Цените культуру речи. Неумение общаться на своём языке никого не красит. Кроме того постарайтесь не допускать грамматических и синтаксических ошибок.
+5% с уведомлением в ЛС (т.к. автор предупрежден, и предупреждение проигнорировал). Исправлена речь, вставлены запятые, модифицировано форматирование.
 --zg_nico
« Последнее редактирование: 11 Январь 2020, 08:40:50 от zg_nico »

Оффлайн 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

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
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 »

Оффлайн 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

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Cron
« Ответ #6 : 08 Январь 2020, 09:17:07 »
(Нажмите, чтобы показать/скрыть)
Так я вставил команды правильно?
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 08 Январь 2020, 16:43:24 от zg_nico »

Оффлайн bezbo

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

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

Оффлайн radiomonter

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

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 11 Январь 2020, 08:58:16 от zg_nico »

Оффлайн darkbunny

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

Оффлайн New_Zatvornik

  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
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

  • Старожил
  • *
  • Сообщений: 1158
    • Просмотр профиля
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

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
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 »

Оффлайн Usermaster

  • Старожил
  • *
  • Сообщений: 1158
    • Просмотр профиля
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.093 секунд. Запросов: 25.