ファイルとスケジュールタスク
ファイルマネージャーでファイルをアップロード、編集、圧縮、展開し、cronスケジュールに従ってコンテナ内でコマンドを実行します。
このガイドでは、Dedicated Containerページのファイル管理タブとスケジュールタスクタブについて説明します。ファイルのアップロード、編集、圧縮、展開と、コンテナ内でコマンドを定期実行する方法を紹介します。
ファイルマネージャー
コンテナページを開き、ファイル管理タブに切り替えます。ファイルマネージャーのルート/は、コンテナのサイトとアプリケーションのディレクトリである/var/www/htmlです。参照や変更ができるのは、このディレクトリとそのサブディレクトリだけです。
参照と編集
- ディレクトリ名をクリックして開きます。上位に戻るには、上部のパンくずリストのパスを使用します。
- 一覧には、名前、サイズ、更新日時、権限が表示されます。
- ファイルの横にあるその他(
⋯)ボタンから、次の操作を行えます。
| 操作 | 説明 |
|---|---|
| 編集 | ブラウザーでテキストファイルを開き、変更して保存します |
| ダウンロード | ファイルをお使いのコンピューターにダウンロードします |
| 名前を変更 | ファイルまたはディレクトリの名前を変更します |
| 圧縮 | ファイルまたはディレクトリをtar.gzまたはzipにまとめます |
| 展開 | .tar.gzと.zipファイルにのみ表示されます。アーカイブと同じ名前のディレクトリに展開します |
| 削除 | ファイルまたはディレクトリを削除します。元に戻すことはできません |
作成、アップロード、リモートダウンロード
ツールバーには次のボタンがあります。
- アップロード:ローカルファイルを現在のディレクトリにアップロードします。
- リモートダウンロード:
https://example.com/file.zipなどのダウンロード URLと保存ファイル名を入力します。サーバーがファイルを現在のディレクトリに直接ダウンロードします。ダウンロードはバックグラウンドで実行され、進行状況が表示されます。完了すると「リモートダウンロードが完了しました」と表示されます。 - 新規作成:種類(ファイルまたはディレクトリ)を選択し、名前を入力します。
- 更新:現在のディレクトリを再読み込みします。
小さなファイルが多数あるプロジェクト(node_modulesを含むNode.jsアプリなど)では、コンピューター上で.zipまたは.tar.gzにまとめてから、アップロードまたはリモートダウンロードで取得し、ここで展開してください。ファイルを1つずつアップロードするよりも大幅に高速です。
圧縮と展開もバックグラウンドで実行されます。完了すると「圧縮完了」または「展開が完了しました」と表示されます。
ファイルの権限
アプリとcronのスケジュールジョブは、コンテナのwwwユーザーとして実行されます。権限の問題が発生した場合は、概要タブのクイック操作にある権限を修復をクリックしてください。/var/www/htmlの所有者と権限がリセットされます。
スケジュールタスク(cron)
スケジュールタスクタブでは、cronスケジュールに従ってコンテナ内でコマンドを実行できます。Laravelスケジューラーの実行、キャッシュのクリア、定期バックアップなどが主な用途です。
スケジュールタスクを作成する
スケジュールタスクタブに切り替え、タスクを作成をクリックします。
フォームに入力します。
項目 説明 タスク名 タスクを識別しやすい名前です(例: backup_database)実行スケジュール 分、時、日、月、曜日の標準的な5フィールドのcron式です(例: */5 * * * *)。クイック選択で一般的なプリセットを選べます実行コマンド 実行するコマンドです。 /usr/bin/php /var/www/html/artisan schedule:runのように絶対パスを使用してください実行ユーザー コマンドを実行するユーザーです 説明 任意のメモです 保存します。タスクが一覧に表示されます。
新しいタスクは無効の状態で作成されます。作成後、ステータス列のスイッチをオンにしてください。オフのままではスケジュール実行されません。タスクを編集した後も、スイッチが有効化になっていることを確認してください。
cron式
cron式は5つのフィールドで構成され、それぞれ次の範囲を指定できます。
| フィールド | 範囲 |
|---|---|
| 分 | 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タスクを管理する
一覧には、実行スケジュール、コマンド、実行ユーザー、ステータスが表示されます。各行には次の操作があります。
- 状態スイッチ:タスクを有効または無効にします。
- 今すぐ実行(再生アイコン):コマンドを直ちに1回実行し、出力を表示します。デバッグに役立ちます。
- 編集:スケジュール、コマンド、その他の項目を変更します。
- 削除:確認後にタスクを削除します。
適切なコマンドを書くために
- スケジュール実行にはコンテナの
wwwユーザーが使用されるため、そのユーザーがコマンドで使用するファイルを読み書きできる必要があります。 - コマンドにシングルクォート(
')を含めないでください。複雑な処理は、/var/www/html/cron.shなどのスクリプトにまとめ、タスクでsh /var/www/html/cron.shを実行するようにしてください。 - 各実行の記録を残すには、
... >> /var/www/html/storage/cron.log 2>&1などを使用して、出力を自分でリダイレクトしてください。
Web端末について
コンテナページには、Web ターミナルタブもあります。
執筆時点では、このガイドでは対話型端末について扱っていません。日常の作業には、ファイルマネージャー、cronの今すぐ実行、アプリ管理のログを使用してください。