FTPでファイル更新日時を年月日時分秒で取得する
2023-12-13 記載
概要 : ls -l やdirだと年と秒が欠けるので更新日時をyyyy/dd/dd hh:mm:ss形式で取得します
関連記事:WordPressローカル環境を1Clickで更新(5/5)
Keyword : FTP, MDTM, quote, dir, ls, 応答コード,
cloudfreeサーバでftp接続し、dirコマンド(ls -l と同じ)を取得すると、例えばこういう情報が返されます。(一部省略)
drwx--x--x 14 cfsid@cfsid.jp 1000 4096 Dec 9 23:55 .
drwx--x--x 10 cfsid@cfsid.jp 1000 171 Oct 24 23:17 ..
-rw----r-- 1 cfsid@cfsid.jp 1000 674 Oct 23 23:06 .htaccess
-rw----r-- 1 cfsid@cfsid.jp 1000 358 Dec 7 08:18 index.html
年と秒数が省かれていますので、正確な更新日時比較を行うには、別のコマンドで取得する必要があります。
ftp>help
ftp> help
コマンドは省略することができます。コマンド:
! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
quoteで取得できることがわかりました。
quote MDTM index.html
213 20231206231831
“Dec 7 08:18” は2023/12/07 08:18:??
“20231206231831” は 2023/12/06 23:18:31 で
+9:00時差すると 2023/12/07/ 08:18:31 です。
dirの結果、FileZillaとも一致しました。
先頭3文字の”213″は応答コード。
一般的なFTPサーバーからの応答コードの一覧は以下。(by ChatGPT君)
100番台: 情報を示す
100: 全てのデータが正常に受信されるまで待機しています
110: リスナーが新しい接続を待機しています
120: サービスが準備中です
125: データ接続が開始されました
150: ファイルステータスが開始されました
200番台: 成功を示す
200: コマンドが成功しました
202: コマンドは処理されましたが、システムは応答を返しません
211: システム情報を表示します
212: 特定のシステム情報を表示します
213: ファイルの修正日時情報を表示します
214: ヘルプ情報を表示します
220: サービスが利用可能です
221: サービスが終了しました
226: ファイル転送が完了しました
300番台: 再度接続または情報の要求を示す
331: ユーザ名が必要です
332: パスワードが必要です
350: ファイルステータスの要求が成功しました
400番台: エラーを示す
421: サービスが利用できません、接続が終了します
425: 接続が閉じられました、データ接続が必要です
426: 接続が閉じられました、データ接続が終了しました
450: ファイルのアクセスが拒否されました
451: コマンドが中止されました
452: ディスク容量が足りません
500番台: エラーを示す
500: 構文エラーが発生しました
501: パラメータが不正です
502: コマンドが実装されていません
503: コマンドの実装が不正です
530: 認証が必要です
550: ファイルが利用できません
552: ディスク容量が足りません