Запуск скрипта sh в linux

Добрый день, понимаю конечно, что вопрос может и дебильный, но никак не могу решить задачу по запуску скрипта через крон.

И так задача: нужно запускать каждое воскресенье в 0.00 скрипт restart_squid.sh в crontab из под root добавил следующие:

на скрипт сделал chmod +x вручную скрипт запускается, но через крон не работает.

решил проверить работает ли вообще крон сделал следующие

и ничего не происходит, по идеи должно ведь каждую минуту выводиться сообщение IT WORKS , но ничего не происходит.

Подскажите пожалуйста, в чем моя ошибка?

  • Ссылка

по идеи каждую минуту, должно ведь каждую минуту выводиться сообщение IT WORKS

Куда оно должно выводиться? Ну и не каждую минуту, а в первую минуту каждого часа.

  • Показать ответ
  • Ссылка

я думал что должно выводиться на экран консоли или я ошибаюсь?

  • Показать ответы
  • Ссылка

Что бы оно выводилось на экран консоли нужно вызывать команду в консоли или сделать перенаправление вывода в нужную консоль:

  • Показать ответы
  • Ссылка

каждую минуту будет так */1, на счет выводится тоже ошибаешся сделай например для теста запись вывода в какой нибуть файл. И еще к исполняемым файла путь нужно указывать полный, смотреть с помощью which echo например. чтоб тебе легче біло можешь воспользоватся http://www.crontab-generator.org/

  • Показать ответ
  • Ссылка

ну чтоб в какой либо работающий шел віводилось нужно смотреть с помощью w или who

  • Показать ответ
  • Ссылка

И еще к исполняемым файла путь нужно указывать полный,

Необязательно, но лучше указать.

  • Показать ответ
  • Ссылка

та да, я делаю так */1 чтоб себя не путать, как бы наглядно видно. Но тоже правильно. 🙂

  • Ссылка

ну чтоб в какой либо работающий шел віводилось нужно смотреть с помощью w или who

Чтобы в какой-либо «шел» выводилось нужно просто перенаправить вывод на соответствующий /dev/ttyN.

  • Показать ответ
  • Ссылка

не обязательно это /dev/ttyN

  • Показать ответ
  • Ссылка

Необязательно, но если говорить о консоли, то верно.

В данном случае «необязательно» является наречием.

  • Показать ответ
  • Ссылка

не понял насчет «первой консоли» это как? сейчас вбил эту строчку получилось вот так

эффекта ноль, tty1 это рутовая консоль? а если консоль пользователя это будет tty2?

  • Показать ответ
  • Ссылка

мне похер, я не русский, и русский не учил.

  • Показать ответ
  • Ссылка
  • Показать ответ
  • Ссылка

да нет необходимости, кому нужно и так поймет 🙂

  • Показать ответ
  • Ссылка

В какой файл пишете правило для cron`а, в /etc/crontab или персональный файл пользователя?

  • Показать ответ
  • Ссылка

в персональный, а лучше писать в /etc/crontab?

  • Показать ответы
  • Ссылка

лучше писать crontab -e

  • Показать ответ
  • Ссылка

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

Даже помогать такому человеку на форуме, если он при оформлении шапки темы совершает много грамматических ошибок, не ставит знаки препинания, путает банальное «ться» и «тся», неправильно склоняет и ещё кичится этим, не хочется.

На форуме ваше лицо — это текст, который вы пишете.

  • Ссылка

так и писал, но ничего не происходит, даже не выводится it works в консоль

  • Показать ответы
  • Ссылка

в персональный, а лучше писать в /etc/crontab?

Попробуйте, только там после интервалов запуска нужно указать имя пользователя. Ну и попробуйте указать полный путь даже просто до echo.

/dev/tty1 — это первая консоль, на которую вы переключаетесь по ctrl+f1.

  • Показать ответ
  • Ссылка

У тебя сам демон крона хоть запущен? Какой дистрибутив?

  • Показать ответ
  • Ссылка

извините меня конечно, я скорей всего туплю, но я не понимаю о какой консоли идет через, я к машине через putty подключаюсь, потом логинюсь через аккаунт manage, далее пишут su и уже правлю кронтаб


Запуск скрипта sh в Linux

Управление операционной системой Linux осуществляется посредством терминала. Пользователь имеет дело со специальной командной оболочкой, через которую задаются те или иные команды для выполнения нужных действий. Об этом не знает разве что новичок, впервые столкнувшийся с ОС Линукс. Чтобы управление системой не вызывало излишних трудностей, разработчики придумали специальные скрипты. Их можно использовать по отдельности, либо объединять в единую команду. Каждый скрипт отвечает за определенное действие.

Опытные пользователи уже неоднократно убедились в том, насколько удобно работать с Линукс при помощи скриптов. Данная статья станет неким руководством для новичка. В ней мы подробно объясним, как запускать скрипты на ПК.

Скрипты в операционной системе Linux представляют собой обычные файлы. В них содержится текст. Если файлу присвоен атрибутив исполняемости, система (исключительно с подачи пользователя) начинает выполнять команды, которые содержатся в определенном файле.

Запуск script bash

Чтобы лучше понять, как работать со скриптами, стоит рассмотреть несложный пример. Допустим, необходимо запустить script bash. Для этого, создам файл «primer.sh», с помощью редактора nano.

Внутри файла пишем следующий код:

echo «Primer vypolneniya scripta»

bin/bash

В представленном примере первая строка – это та самая оболочка, посредством которой выполняется определенное действие. Само действие в данном случае указано во второй строке. Примечательно, что у данного варианта могут быть альтернативные окончания. Например:

  • /bin/sh — bash script.
  • /usr/bin/php — php scpript.
  • /usr/bin/python — язык python.

Далее необходимо сохранить файл. Согласно нашему примеру нажимаем «ctrl + O», затем «ctrl + X».

Чтобы script bash отработал, необходимо дать файлу специальные права на исполнение.

$ chmod ugo+x primer.sh

После этого файл будет доступен к запуску для всех категорий пользователей Линукс (без исключений). Чтобы найти нужный скрипт в системе, необходимо задать полный путь или относительный.

В нашем примере файл лежит в домашнем каталоге, поэтому просто для запуска вводи название скрипта.

А вот указание полного пути. Он будет выглядеть следующим образом:

Запуск через оболочку bash

Далее мы рассмотрим альтернативный способ запуска script, используя для этих целей оболочку. Пользователь может сразу передать ей нужный скрипт для выполнения. Такое не часто встречается на практике в случае с bash, чего не скажешь о скриптах python и php. Как запустить скрипт указанным способом:

Предлагаем вашему вниманию еще один аналогичный способ запуска:

Чтобы произвести запуск сценария в операционной системе Линукс в виде фонового процесса, необходимо использовать специальный символ. Он будет указан ниже:

Заключение

Знакомство новичка с терминалом Linux часто приводит к некоторым сложностям. Разобравшись в том, как происходит управление устройством, данная проблема быстро пропадает. Данная статья лишь подтверждает это. Запускать script в Линукс действительно легко.


Запуск скрипта sh в Linux

  • 19-09-2018
  • Linux • Инструкции
  • Artist
  • 434
  • 0

Запуск скрипта sh в Linux

Вся сила Linux в использовании терминала. Это такая командная оболочка, где вы можете выполнять различные команды, которые будут быстро и эффективно выполнять различные действия. Ну впрочем, вы наверное это уже знаете. Для Linux было создано множество скриптов, которые выполняются в различных командных оболочках. Это очень удобно, вы просто объединяете несколько команд, которые выполняют определенное действие, а затем выполняете их одной командой или даже с помощью ярлыка.

Но у новичков может возникнуть вопрос — как запустить скрипт в Linux, что для этого нужно сделать, что будет происходить и какие команды нужно выполнить. Но сначала нужно рассмотреть как работают скрипты и что такое исполняемость.

Как работают скрипты

В Linux почти не используется расширение файла для опережения его типа на системном уровне. Это могут делать файловые менеджеры и то не всегда. Вместо этого, используются сигнатуры начала файла и специальные флаги. Система считает исполняемыми только те файлы, которым присвоен атрибут исполняемости.

Теперь о том, как работают скрипты. Это обычные файлы, которые содержат текст. Но если для них установлен атрибут исполняемости, то для их открытия используется специальная программа — интерпретатор, например, оболочка bash. А уже интерпретатор читает последовательно строку за строкой и выполняет все команды, которые содержатся в файле. У нас есть несколько способов выполнить запуск скрипта linux. Мы можем запустить его как любую другую программу через терминал или же запустить оболочку и сообщить ей какой файл нужно выполнять. В этом случае не нужно даже флага исполняемости.

Запуск скрипта sh в Linux

Сначала рассмотрим пример небольшого sh скрипта:

Вторая строка — это действие, которое выполняет скрипт, но нас больше всего интересует первая — это оболочка, с помощью которого его нужно выполнить. Это может быть не только /bin/bash, но и /bin/sh, и даже /usr/bin/python или /usr/bin/php. Также часто встречается ситуация, что путь к исполняемому файлу оболочки получают с помощью утилиты env: /usr/bin/env php и так далее. Чтобы выполнить скрипт в указанной оболочке, нужно установить для него флаг исполняемости:

Мы разрешаем выполнять запуск sh linux всем категориям пользователей — владельцу, группе файла и остальным. Следующий важный момент — это то место где находится скрипт, если вы просто наберете script.sh, то поиск будет выполнен только глобально, в каталогах, которые записаны в переменную PATH и даже если вы находитесь сейчас в той папке где находится скрипт, то он не будет найден. К нему нужно указывать полный путь, например, для той же текущей папки. Запуск скрипта sh в linux:

Или полный путь от корня:

Если вы не хотите писать полный путь к скрипту, это можно сделать, достаточно переместить скрипт в одну из папок, которые указаны в переменной PATH. Одна из них, которая предназначена для ручной установки программ — /usr/local/bin.

Теперь вы можете выполнить:

Это был первый способ вызвать скрипт, но есть еще один — мы можем запустить оболочку и сразу же передать ей скрипт, который нужно выполнить. Вы могли редко видеть такой способ с bash, но он довольно часто используется для скриптов php или python. Запустим так наш скрипт:

А если нам нужно запустить скрипт на php, то выполните:

Вот так все просто здесь работает. Так можно запустить скрипт как фоновый процесс, используйте символ &:

Даже запустить процесс linux не так сложно.

Выводы

Как видите, запуск скрипта sh в linux — это довольно простая задача, даже если вы еще плохо знакомы с терминалом. Существует действительно много скриптов и некоторые из них вам возможно придется выполнять. Если у вас остались вопросы, спрашивайте в комментариях!



Запуск скрипта sh в Linux

Вся сила Linux в использовании терминала. Это такая командная оболочка, где вы можете выполнять различные команды, которые будут быстро и эффективно выполнять различные действия. Ну впрочем, вы наверное это уже знаете. Для Linux было создано множество скриптов, которые выполняются в различных командных оболочках. Это очень удобно, вы просто объединяете несколько команд, которые выполняют определенное действие, а затем выполняете их одной командой или даже с помощью ярлыка.

Но у новичков может возникнуть вопрос — как запустить скрипт в Linux, что для этого нужно сделать, что будет происходить и какие команды нужно выполнить. Но сначала нужно рассмотреть как работают скрипты и что такое исполняемость.

Как работают скрипты

В Linux почти не используется расширение файла для опережения его типа на системном уровне. Это могут делать файловые менеджеры и то не всегда. Вместо этого, используются сигнатуры начала файла и специальные флаги. Система считает исполняемыми только те файлы, которым присвоен атрибут исполняемости.

Теперь о том, как работают скрипты. Это обычные файлы, которые содержат текст. Но если для них установлен атрибут исполняемости, то для их открытия используется специальная программа — интерпретатор, например, оболочка bash. А уже интерпретатор читает последовательно строку за строкой и выполняет все команды, которые содержатся в файле. У нас есть несколько способов выполнить запуск скрипта linux. Мы можем запустить его как любую другую программу через терминал или же запустить оболочку и сообщить ей какой файл нужно выполнять. В этом случае не нужно даже флага исполняемости.

Запуск скрипта sh в Linux

Сначала рассмотрим пример небольшого sh скрипта:

#!/bin/bash
echo «Hello world»

Вторая строка — это действие, которое выполняет скрипт, но нас больше всего интересует первая — это оболочка, с помощью которого его нужно выполнить. Это может быть не только /bin/bash, но и /bin/sh, и даже /usr/bin/python или /usr/bin/php. Также часто встречается ситуация, что путь к исполняемому файлу оболочки получают с помощью утилиты env: /usr/bin/env php и так далее. Чтобы выполнить скрипт в указанной оболочке, нужно установить для него флаг исполняемости:

chmod ugo+x script.sh

Мы разрешаем выполнять запуск sh linux всем категориям пользователей — владельцу, группе файла и остальным. Следующий важный момент — это то место где находится скрипт, если вы просто наберете script.sh, то поиск будет выполнен только глобально, в каталогах, которые записаны в переменную PATH и даже если вы находитесь сейчас в той папке где находится скрипт, то он не будет найден. К нему нужно указывать полный путь, например, для той же текущей папки. Запуск скрипта sh в linux:

Или полный путь от корня:

Если вы не хотите писать полный путь к скрипту, это можно сделать, достаточно переместить скрипт в одну из папок, которые указаны в переменной PATH. Одна из них, которая предназначена для ручной установки программ — /usr/local/bin.

cp script.sh /usr/local/bin/script.sh

Теперь вы можете выполнить:

Это был первый способ вызвать скрипт, но есть еще один — мы можем запустить оболочку и сразу же передать ей скрипт, который нужно выполнить. Вы могли редко видеть такой способ с bash, но он довольно часто используется для скриптов php или python. Запустим так наш скрипт:

А если нам нужно запустить скрипт на php, то выполните:

Вот так все просто здесь работает. Так можно запустить скрипт как фоновый процесс, используйте символ &:

Даже запустить процесс linux не так сложно.

Выводы

Как видите, запуск скрипта sh в linux — это довольно простая задача, даже если вы еще плохо знакомы с терминалом. Существует действительно много скриптов и некоторые из них вам возможно придется выполнять. Если у вас остались вопросы, спрашивайте в комментариях!


запуск скрипта

Всем привет! Скачал «racket-5.2.1-bin-x86_64-linux-debian-squeeze.sh». Захожу в «/home/evgeny/.gnome2/epiphany/downloads/», пишу в рут- терминале ./racket-5.2.1-bin-x86_64-linux-debian-squeeze.sh , вижу сообщение «-su: ./racket-5.2.1-bin-x86_64-linux-debian-squeeze.sh: Отказано в доступе». Позже попробовал тоже самое и ничего не происходит, курсор переходит на следующую строку «root@debian:/home/evgeny/.gnome2/epiphany/downloads#» Отказано из под рута ?В чем проблема ?

  • Ссылка

файлики качаются НЕисполняемыми
потому или
chmod +x bla-bla && ./bla-bla
ну или
sh bla-bla

  • Показать ответы
  • Ссылка

Не слушай Незнайку, он тебе неправильно подсказывает.

  • Ссылка

Никак не реагирует на ./bla-bla или sh bla-bla. Курсор переносистя на новую строку.

  • Показать ответы
  • Ссылка

  • Ссылка

хотя. если курсор переходит на новую строку, это значит что скрипт выполнился.
У тебя всё получилось. Ты молодец. Всем спасибо. Все свободны

  • Показать ответ
  • Ссылка

«root@debian:/home/evgeny/.gnome2/epiphany/downloads# file racket-5.2.1-bin-x86_64-linux-debian-squeeze.sh racket-5.2.1-bin-x86_64-linux-debian-squeeze.sh: empty» Пустой. В списке установленных программ в центре приложений нет Racket.

  • Показать ответы
  • Ссылка

его там и не должно было появиться
т.к. ты поставил в обход пакет-манагера
//Кэп

  • Ссылка

и таки сделай тогда уж
./racket-5.2.1-bin-x86_64-linux-debian-squeeze.sh —help
и оформи лоркодом

  • Ссылка

И что тут непонятного? Ты ничего не скачал.

  • Ссылка

Вывод: Вы его не скачали.

  • Показать ответ
  • Ссылка

Наличие «racket-5.2.1-bin-x86_64-linux-debian-squeeze.sh» в /home/evgeny/.gnome2/epiphany/downloads говорит о том, что он скачался, но криво (в файле нет информации)? Полоса загрузки шла и завершилась на 100 %.

  • Показать ответы
  • Ссылка

говорит о том, что он скачался, но криво (в файле нет информации)?

Да. На всякий случай убедитесь в том, что его размер 0 байт.

Полоса загрузки шла и завершилась на 100 %.

Adblock
detector