🦔
コマンドラインからftpサーバーにファイルをアップロードする
商品データCSVを生成してFTPサーバにアップロードする、という機能をつくることになったので
ファイルアップロード機能についていろいろ調べました。
最終的には
- 商品CSVを出力するphpを呼ぶ
- 出力したCSVはとりあえずバックアップをつくる
- 出力したCSVをftpサーバにアップロードする
- 出力したCSVを消す
という内容のシェルスクリプトを作成しました。
コマンドラインからのファイルアップロードが勉強になったので
以下にアップロード方法を記録します。
コマンドでアップロードする
コマンドでファイルをアップロードする場合、ftpコマンドかcurlコマンドを使うことになる
ftpコマンド
ftpコマンドでアップロードを試みる場合、
ftpコマンドでいったんサーバに入ったのち、putコマンドでファイルをアップロードする
ちなみにftpサーバから抜ける場合はclose(切断)かexit’(ftpモード自体をやめる)を入力する。
$ ftp
ftp> open {ホスト名}
Name (****:*****): {ユーザ名}
Password: {パスワード}
/* これで接続完了 */
ftp> put {送りたいファイルパス}
参考: ftpコマンドについて詳しくまとめました 【Linuxコマンド集】
curlコマンド
最初、ftpコマンドでファイルアップロードしようと考えていたが
curlコマンドのほうがはるかに簡単だった。1文でおわる。
$ curl -T {アップロードファイルパス} -u {ユーザー名}:{パスワード} ftp://{ホスト名}/{任意のアップロード先ディレクトリ}
Discussion