1.手动备份原网站目录及数据库
tar -zcvf /www/blog.su61.com /root/blog.su61.com.tar
tar -zcvf 打包后生成的文件名全路径 要打包的目录
解包至当前目录:tar xzvf blog.su61.com.tar
zip -r filename.zip filesdir
r递归目录
解压缩
unzip filename.zip
可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:
zip -r filename.zip file1 file2 file3 /usr/work/school
mysqldump -u root -p 数据库密码 数据库名称 > 具体备份路径
mysqldump -u root -p blog.su61.com > /var/databakup/blog.su61.com.sql
还有一个注意要备份 apache 或 nginx 里站点的配置site.conf文件。
可以用打开文件查看,复制内容出来
2.将备份的文件移至可访问的网站目录中
注意,最好将文件夹加点随机数,加点安全性。
mkdir新建文件夹
复制文件以及文件夹实例:
命令格式:
cp 参数 source1 source2 source3 … directory
参数说明:
-a:是指archive的意思,也说是指复制所有的目录
-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
-l:建立硬连接(hard link)的连接文件,而非复制文件本身
-p:与文件的属性一起复制,而非使用默认属性
-r:递归复制,用于目录的复制操作
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件
-u:若目标文件比源文件旧,更新目标文件
如将/a 目录下的b复制到/c目录,并将文件名改为d,可输入以下命令:
cp /a/b /c/d
移动: 命令格式:mv 参数 源 目的
参数说明:-f:force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新
如将/a目录下的b复制到/c 目录,并将文件名改为d,可输入以下命令:
mv /a/b /c/d
删除
这个命令尤其注意,
rm -rf /www/www.www.com
rm -f /www/www.access.log
3. 在远程新主机远程下载备份文件
wget 刚才的文件
4.解压缩文件,导入数据库
tar xzvf web.tar
mysql -u root -p
#根据提示输入密码后进入mysql控制台
show databases;
#创建数据库
create database mysite;
#进入数据库
use mysite;
#从文件导入所有数据
source /var/databakup/mysite.sql