Crontab (создать крон по ssh, загрузить cron из файла ssh)

Закачивать сайт можно по протоколу FTP, соединяясь с сервером, где расположен ваш сайт, с помощью FTP-клиента. Но бывают ситуации, когда нужно отладить работу скрипта непосредственно на сервере хостинг-провайдера.

Или сделать автоматический запуск определенного файла в определенное время. Или совершить какие-то манипуляции с базами данных MySQL.
Для всех этих и многих других действий пользователей хостинг-провайдеры предоставляют доступ по защищенному протоколу telnet (а не по ftp), так называемый shell-доступ (ssh-доступ).

Работа с shell — это работа с командной строкой Unix. А так как это другая операционная система, то в ней существуют другие законы, команды и т.п.

Что нужно для работы с ssh? Существует множество программ для работы изWindows. Вы можете скачать Putty или SecureCRT.

Рассмотрим подключение на примере работы с программой Putty.

Все очень просто. Запускаете файл putty.exe

— Откроется окно программы.

— В поле «Host name» прописываете доменное имя вашего сайта. К примеру, site.com

— Выбираете протокол доступа — Protocol SSH.

— Нажимаете «Open». Все, сессия началась. Программа запросит ввести вас логин, вводите тот же, что у вас для доступа по FTP. Затем вводите пароль.

Внимание! Первое, что необходимо запомнить при работе с командной строкой unix— cистема различает регистр букв. То есть файлы типа Pupkin.pl и pupkin.pl и pupkin.Pl — это совершенно разные файлы. Также и пароли wert и WerT — разные пароли!

Итак, вы подключились!

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

pwd — получить имя текущей папки, где вы находитесь.
cd — изменить текущую директорию

Например, Вы находитесь в директории /home, а Вам нужно попасть в /usr/sbin. Для этого Вам нужно просто набрать команду:

cd /usr/sbin

Вот что при этом Вы увидите на экране:

vvs01% cd /usr/sbin
vvs01%

ls — вывести информацию о файлах или папках

При этом список может быть довольно большой.

Поэтому существуют ключи для этой команды, вот некоторые из них:
-a — вывести все файлы (даже те, имена которых начинаются с точки);
-x — вывод в 4 колонки;
-t — имена файлов сортируются не по алфавиту, а по времени последнего изменения (сначала идут самые свежие, только что измененные файлы);
-R — рекурсивно пройти по всем подкаталогам
-CF — оглавление каталога в несколько столбиков
-al — оглавление в полном формате

Эти ключи нужно подставлять сразу после команды ls.

Вот еще несколько команд:

cat — слить или вывести файлы-аргументы на стандартный вывод
cp — копировать файлы
mv — переместить (переименовать) файлы
ln — создать ссылку на файл

rm — удалить файлы

Формат команды:

rm [-fri] файл …
-i — просить подтверждения на каждое удаление
-r — рекурсивно удалить вместе с подкаталогами
-f — не просить подтверждения, а сразу удалить

rmdir — удалить директорию
mkdir — создать директорию
echo — вывести аргументы командной строки на стандартный вывод

ps — узнать номера выполняемых процессов, т.е. какие программы выполняются.

Формат команды:

ps — запущенные только с этого терминала
ps -e — все
ps -f — в «полном» формате

kill — «убить» выполняемый процес по его номеру
man — выдать справку об использовании и ключах команды

Теперь о том, как запускать файлы автоматически в определенное время.

Для этого существует механизм, называемый cron.

Для каждого пользователя создается конфигурационный файл, куда записывается расписание запуска программ. Данный конфигурационный файл каждую минуту просматривается cron’ом и запускаются те программы, время запуска которых подошло. Редактируется конфигурационный файл с помощью программы crontab.

Вот основные команды:

crontab -e : войти в режим редактирования
crontab -l : вывести все задания крона
crontab -r : удалить все задания

Команда crontab file заменят текущие настройки cron на те, которые содержатся в файле ‘file’. Для этого вам нужно закачать сначала на сервер этот самый файл (например, через ftp), а затем в команде указать полный путь к нему. Пути для вашего сайта можно узнать у своего хостинг-провайдера, он их обычно указывает в инструкциях. В результате, если вы закачали файл raspisanie.txt в папку /pupkin/public_html/mypapka/raspisanie.txt, то команда будет выглядеть так:

crontab /pupkin/public_html/mypapka/raspisanie.txt

Когда вы задаете команду «вывести все задания крона», вы увидите нечто вида:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=pupkin
HOME=/home/pupkin
# run-parts
01 * * * * command
02 4 * * * command

Первые четыре строки просто обозначают настройку технических параметров, и на них не стоит обращать внимание (как впрочем и менять тоже).

А вот на следующие строки внимание уже стоит обратить… Формат этих строк выглядит следующим образом:
Нужная минута часа для запуска (0-59)
Нужный час дня для запуска (0-23)
Нужный день месяца (0-30)
Нужный месяц года (1-12)
Нужный день недели (0-6)
Выполнимая команда.

Значок * обозначает слово каждый (день, год, месяц, час).

Например, строка 01 * * * * command будет обозначать запуск программы каждый час в одну минуту.

А строка 02 4 * * * command означает запуск программы каждый день в 4 часа утра в две минуты.

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

01 * * * * command
02 4 * * * command

где command — ваша команда (запуска определенного скрипта или еще что-то), а затем просто командой «crontab file» перенести все задания из файла в крон, либо вручную все ввести в крон. Первое, на мой взгляд, удобнее.

Вот и все премудрости крона

Crontab (создать крон по ssh, загрузить cron из файла ssh)

2 мыслей о “Crontab (создать крон по ssh, загрузить cron из файла ssh)

  • 22.03.2024 в 03:32
    Permalink

    Wow, marvelous weblog layout! How lengthy have you been running a blog for?

    you make running a blog look easy. The entire glance of
    your website is magnificent, let alone the content material!

    You can see similar here sklep internetowy

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *