Gojira 哥斯拉Gojira 哥斯拉

哥斯拉爱好者的日常
生活相当无趣 我得找点乐子

为节约空间,同步linux服务器上的文件到七牛云存储

gojira.net

服务器上的空间动不动就不够用了,经常都要清理日志文件才行。
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       2T   1860G  83G  96% /
今天特意抽出时间,整理下服务器里面的图片,同步到七牛去(为此还充值七牛了),然后本地服务器删除掉这些图片文件。网站里面调用的图片改为七牛绑定的域名就行了,其他路径保持不变。

命令工具(qshell)官网:
https://developer.qiniu.com/kodo/tools/1302/qshell

下载qshell
wget https://dn-devtools.qbox.me/2.1.5/qshell-linux-x64
mv qshell-linux-x64 qshell

先要执行下
./qshell account ak sk
ak即 AccessKey
sk即 SecretKey
执行后用户的所有信息写入到磁盘$HOME_DIR/.qshell下面。

然后写个配置文件up.conf
{
"src_dir"            :   "/home/wwwroot/gojira.net/www/",
"bucket"             :   "qiniu-ptent",
"file_list"          :   "wp-content",
"key_prefix"         :   "",
"up_host"            :   "",
"ignore_dir"         :   false,
"overwrite"          :   false,
"check_exists"       :   true,
"check_hash"         :   true,
"check_size"         :   false,
"rescan_local"       :   true,
"skip_file_prefixes" :   "testxxxxxxxxx,demoxxxxxxxxxxx,",
"skip_path_prefixes" :   "helloxxxxxxxxxxxx/,tempxxxxxxxxxxx/",
"skip_fixed_strings" :   ".svnxxxxxx,.gitxxxxxxx",
"skip_suffixes"      :   ".DS_Storexxx,.exexxxx",
"log_file"           :   "upload.log",
"log_level"          :   "info",
"log_rotate"         :   1,
"log_stdout"         :   false,
"file_type"          :   0
}

执行上传命令:
./qshell qupload -success-list success.txt -failure-list fail.txt -overwrite-list overwrite.txt up.conf

success-list 表示所有上传成功的文件列表,而failure-list则表示所有上传失败的文件列表。另外overwrite-list表示所有上传是覆盖了空间已有文件的列表,这个列表的意义在于可以用来拼接CDN的域名,进行CDN资源的刷新操作,以及时更新节点文件。
这样就基本搞定了。

上传过程如下图:

后来发现www下面的文件全部都传上去了,而我需要传的只是www下wp-content里面所有的图片文件。懒得仔细去查问题了。(谁知道问题在哪里的,告诉下我,3q)
所以,就去删文件吧,用过七牛的都知道删文件很麻烦,得一个一个删。
还好有qshell这个命令行工具,可以批量的删。
方法如下:(拿删除wp-includes文件夹下所有文件举例)
./qshell listbucket qiniu-ptent 'wp-includes/' gojira.net-upload.txt
./qshell batchdelete -force qiniu-ptent gojira.net-upload.txt

这样就比较完美的搞定了。
然后到数据库里面替换想图片路径的域名部分就行了。
最后删除图片附件,一下多出400多G空间了。

GOJIRA.NET原创文章未经允许不得转载! 当前页面:Gojira 哥斯拉 » 为节约空间,同步linux服务器上的文件到七牛云存储

评论