Файлы и задания по расписанию
Загружайте, редактируйте, архивируйте и распаковывайте файлы в файловом менеджере и выполняйте команды в контейнере по расписанию cron.
В этом руководстве описаны две вкладки на странице Dedicated Container: Управление файлами и Задачи по расписанию. Вы узнаете, как загружать, редактировать, архивировать и распаковывать файлы, а также выполнять команды по расписанию внутри контейнера.
Файловый менеджер
Откройте страницу контейнера и перейдите на вкладку Управление файлами. Корень файлового менеджера / соответствует каталогу сайтов и приложений контейнера /var/www/html. Просматривать и изменять можно только этот каталог и его подкаталоги.
Просмотр и редактирование
- Нажмите имя каталога, чтобы открыть его. Для перехода на уровень выше используйте навигационную цепочку вверху.
- В списке отображаются Название, Размер, время изменения и Права доступа.
- Нажмите кнопку Ещё (
⋯) рядом с файлом, чтобы выполнить следующие действия:
| Действие | Описание |
|---|---|
| Изменить | Открыть текстовый файл в браузере, изменить и сохранить его |
| Скачать | Скачать файл на компьютер |
| Переименовать | Переименовать файл или каталог |
| Сжать | Упаковать файл или каталог в tar.gz или zip |
| Распаковать | Отображается только для файлов .tar.gz и .zip. Распаковывает архив в каталог с его именем |
| Удалить | Удалить файл или каталог. Это действие нельзя отменить |
Создание, загрузка и скачивание по URL
На панели инструментов доступны следующие кнопки:
- Загрузить: загрузить локальный файл в текущий каталог.
- Удаленная загрузка: укажите URL для скачивания, например
https://example.com/file.zip, и имя в поле Имя сохраняемого файла. Сервер скачает файл непосредственно в текущий каталог. Скачивание выполняется в фоновом режиме с индикатором выполнения, а по завершении появится сообщение "Удаленная загрузка завершена". - Создать: выберите тип (файл или каталог) и введите имя.
- Обновить: обновить содержимое текущего каталога.
Если в проекте много небольших файлов (например, приложение Node.js с node_modules), упакуйте его в .zip или .tar.gz на компьютере, загрузите архив или скачайте его по URL, затем нажмите Распаковать здесь. Это намного быстрее, чем загружать файлы по одному.
Архивирование и распаковка также выполняются в фоновом режиме. По завершении появится сообщение "Сжатие завершено" или "Распаковка завершена".
Права доступа к файлам
Приложения и задания cron по расписанию выполняются от имени пользователя контейнера www. Если возникают проблемы с доступом, нажмите Исправить права в разделе Быстрые действия на вкладке Обзор. Это сбросит владельца и права доступа для /var/www/html.
Задания по расписанию (cron)
Вкладка Задачи по расписанию позволяет выполнять команды внутри контейнера по расписанию cron. Типичные сценарии — запуск планировщика Laravel, очистка кешей и периодическое резервное копирование.
Создание задания по расписанию
Перейдите на вкладку Задачи по расписанию и нажмите Создать задачу.
Заполните форму:
Поле Описание Название задачи Имя, по которому удобно распознавать задание, например backup_databaseРасписание выполнения Стандартное выражение cron из 5 полей: минута, час, день месяца, месяц, день недели, например */5 * * * *. Используйте Быстрый выбор, чтобы выбрать типовой вариантКоманда выполнения Команда для выполнения. Используйте абсолютные пути, например /usr/bin/php /var/www/html/artisan schedule:runПользователь выполнения Пользователь, от имени которого выполняется команда Описание Необязательные примечания Сохраните. Задание появится в списке.
Новые задания изначально отключены. После создания задания включите переключатель в столбце Состояние, иначе оно не будет выполняться по расписанию. После редактирования задания убедитесь, что переключатель по-прежнему установлен в положение Включить.
Выражения cron
Выражение содержит пять полей со следующими диапазонами:
| Поле | Диапазон |
|---|---|
| Минута | 0–59 |
| Час | 0–23 |
| День месяца | 1–31 |
| Месяц | 1–12 |
| День недели | 0–7 (и 0, и 7 означают воскресенье) |
Типовые примеры:
* * * * * every minute
*/5 * * * * every 5 minutes
0 * * * * at the top of every hour
0 0 * * * every day at 00:00
0 12 * * * every day at 12:00
0 0 * * 1 every Monday at 00:00
0 0 1 * * on the 1st of every month at 00:00Управление заданиями
В списке отображаются Расписание выполнения, Команда, Пользователь выполнения и Состояние. В каждой строке доступны следующие элементы управления:
- Переключатель статуса: включить или отключить задание.
- Выполнить сейчас (значок воспроизведения): немедленно выполнить команду один раз и показать её вывод. Это удобно для отладки.
- Изменить: изменить расписание, команду и другие поля.
- Удалить: удалить задание после подтверждения.
Рекомендации по составлению команд
- Запуски по расписанию выполняются от имени пользователя контейнера
www, поэтому у него должны быть права на чтение и запись файлов, используемых командой. - Не используйте одинарные кавычки (
') в команде. Для сложной логики поместите команды в скрипт, например/var/www/html/cron.sh, и укажите в заданииsh /var/www/html/cron.sh. - Чтобы сохранять результаты каждого запуска, самостоятельно перенаправьте вывод, например
... >> /var/www/html/storage/cron.log 2>&1.
О веб-терминале
На странице контейнера также есть вкладка Веб-терминал.
На момент написания этого руководства интерактивный терминал в нём не рассматривается. Для повседневной работы используйте файловый менеджер, действие cron Выполнить сейчас и журналы из раздела Управление приложениями.