一键备份 vps 上的文件
icon
password
tags
date
type
category
status
summary
slug
这几天帮一客户把网站从国内某垃圾 idc 搬到国外的 vps(何为垃圾?丫的竟然不支持在线压缩,=。=),本来是想帮其安装 kloxo 的面板方便直观的操作文件,但考虑到 kloxo 用的是 Apache,…
这几天帮一客户把网站从国内某垃圾 idc 搬到国外的 vps(何为垃圾?丫的竟然不支持在线压缩,=。=),本来是想帮其安装 kloxo 的面板方便直观的操作文件,但考虑到 kloxo 用的是 Apache,而我打算的帮他装 lnmp(Linux+nginx+Mysql+php),遂放弃 kloxo,于是立马 wget 了 Licess 大大的 lnmp 一键包进行安装。
待配置好 vps 环境,迁移完网站后,备份这个问题该考虑了,熟悉 ssh 操作的这不是什么问题,用 putty 登录进去几个 tar 命令再下载或 sftp 到其他服务器上就完事了,可对于一个对 ssh 操作完全不懂的人来说这就是个难事了,于是我进入了蛋疼的苦想冥思中,难道真要手把手教他 ssh 操作吗?各种命令参数不光要了他的命也要要了我的命,这个时候我想到了 putty 的命令行程序 plink,或许在它身上可以找到出路。

先介绍一下什么是 putty、plink?

putty 是一个在 win 系统下拥有 GUI 界面的 ssh 客户端,它能用来远程管理 Linux 系统,而 plink 就是 putty 的命令行程序,依托 Windows 的 cmd 进行操作,当然,它们还能用来干点其他事,不必言表,你懂的!

设想的解决方案

通过建立批处理文件运行 plink 自动登录到 vps 上,然后用./ 命令运行放置于 vps 上 sh 文件(其实 sh 文件也能理解为 Linux 下的批处理),然后再把 cd、tar、mv 命令写在 sh 文件上,这样就实现了在 Windows 中点一下就备份 vps 上文件的目的。
先在 Windows 中新建个文本,写入以下代码,另存为 vpsbackup.bat(一定要把 txt 后缀改为 bat 后缀)。
Windows 中批处理文件的代码:
再新建个文本,把以下代码根据自己的具体情况修改后写入,另存为 backup.sh(一定要把 txt 后缀改为 sh 后缀),上传到 vps 的 root 目录。
如果 backup.sh 是在 ssh 中用 vi 建立的话可以忽略以下内容
因为 backup.sh 是在 Windows 环境下建立的,Linux 环境不认它,所以我们需要登入 ssh 运行 vi 修改文件编码,方法如下
这个步骤很重要,话说我在测试的时候就是因为没改编码的原因导致 bad interpreter: No such file or directory。
最后把下载的 plink.exe,放在 C 盘根目录,vpsbackup.bat 随意放置,只要别手贱点到导致无谓的备份就成,如果发现 backup.sh 无法运行的话请把权限设置为 777。本文主要是分享下这个思路,利用 vps 上的 backup.sh 文件可以有更多的功能(如利用 sftp 把备份发送到另外的 vps 上),但本人水平实在有限,只能写这么多,高手请勿见笑。

© Leo.N 2005-2024