3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ftpしか使えない時のディレクトリ削除、圧縮、解凍

Posted at

はじめに

今時、ssh接続ができないことなんてそうそうないはずなんですが、全くないわけではありません。
私はそんな時、基本的にftpクライアントソフトを利用して、ファイル操作を行っています。

しかし、ftp接続でファイル数のおおいディレクトリを削除しようとすると、非常に時間がかかってしまいます。
加えて、圧縮したり、解凍したりするのも少し不便です。

方法

(OSは、macOS、ftpクライアントソフトは、Cyber duckを利用しています。)

容量の大きなファイルを削除しても、すぐに消せることから、1ファイルごとに削除命令を出していることが、削除に時間がかかる要因だと思われます。

ftp側で早く削除するためにできることはなさそうなので、PHP(実行環境があり、コマンドが実行できるならどんな言語でもできるはず)でlinuxコマンドを実行して、削除することにしました。

<?php
system('rm -rf 対象ディレクトリのpath');

圧縮・解凍について

ftpではファイルの圧縮、解凍も少し手間がかかります。(ftp単体だと出来ない様子)

圧縮

<?php
system('tar -zcvf backup.tar.gz target_ directory');

解凍

<?php
system('tar -zxvf backup.tar.gz');

余談

macでtarボールを作る場合、通常、【._.hogehoge】というような余計な隠しファイルが作成されてしまいます。
以下のようにCOPYFILE_DISABLE=1を利用すると、これを回避できます。

COPYFILE_DISABLE=1 tar -zcvf test.tar.gz test
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?