日向夏特殊応援部隊

俺様向けメモ

指定したdomainのファイルを全て消す

こんな感じかなー。

#!/usr/bin/perl

use strict;
use warnings;

use Getopt::Long;
use MogileFS::Client;

my ($domain, $host);

GetOptions(
        "domain=s" => \$domain,
        "host=s@" => \$host
);

die("host or domain is not valid") unless ($domain && $host);

my $mogc = MogileFS::Client->new(domain => $domain, hosts => $host);

for (my ($after, $list) = $mogc->list_keys("", "", 10); ($list && @$list > 0); ($after, $list) = $mogc->list_keys("", "", 10)) {
        for my $key (@$list) {
                print $key, "\n";
                $mogc->delete($key);
        }
}

list_keysはdefaultが1000件と言うlimitが付いてる*1ので、ここではとりあえず10件ずつ取得する感じ。

mogadmでdomainごと消しても良さそう。
そういえばやった事ないです。うそ、やった事あったw

今試したけど、ファイルがあるとdomainは消せません。