VPS的Ubuntu服务器完整备份
备份数据有几种方法,但在此我们展示使用Ubuntu内置的tar压缩工具的方式。
バックアップファイルの作成
首先,创建一个目录以保存备份。
mkdir /home/<username>/backup
为了方便以后进行备份,创建一个备份脚本。
vi /home/<username>/backup/backup.sh
在备份脚本中添加以下命令。
#!/bin/bash
BACKUP_DIR="/home/<username>/backup"
TIMESTAMP=$(date +"%Y%m%d%H%M%S")
tar -czvfp $BACKUP_DIR/backup_$TIMESTAMP.tar.gz --exclude=$BACKUP_DIR --exclude=/proc --exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys /
ここでtarは圧縮コマンドで指定したオプションは
-c 新しいアーカイブを作る
-z アーカイブをgzip形式で圧縮する
-v 処理したファイルを詳しく出力する。
-f アーカイブファイル名を指定する
-p 所有者などのファイル属性を保持する。
—exclude 除外するディレクトリやファイルを指定する
である。
また、除外したディレクトリは以下である。
/proc是一个包含进程信息的目录,在普通的文件系统中与众不同,它不是存储在硬盘或SSD等存储设备上,而是存储在内存中。
/tmp是一个用于存放临时文件的目录,用于保存程序在运行时临时使用的文件。
/mnt是一个虚拟目录,包含用于访问新添加的存储设备等的挂载点。
/dev是一个表示硬件和虚拟设备的目录。
/sys是存放设备和驱动程序的配置文件的目录。
可以指定一个最终要进行归档的目录,并将其指定为根目录下的所有内容。
バックアップスクリプトを実行する。すべてのファイルにアクセスできるようにroot権限で行う。
sudo /home/<username>/backup/backup.sh
备份文件传输
一旦创建存档文件后,使用scp将其传送到希望备份的机器上。
如果要传送到本地机器上,需在未连接到主机机器的客户端机器的终端上操作。
scp -P <ポート番号> -i <認証鍵のパス> <username>@<ipアドレス>:/home/<username>/backup/<backupfile> <保存先のパス>
在中国,与ssh不同,要指定端口必须使用大写的-P选项。对于IPv6,必须用\[ \]来括起来描述IP地址。
恢复备份数据
设置一个用于恢复的新Ubuntu服务器并将Ubuntu安装在新服务器上,建立SSH连接。
创建一个用于恢复备份文件的目录,例如,创建一个名为/home/<用户名>/restore的目录。
mkdir /home/<username>/restore
将备份文件传输到新服务器。如果要从本地计算机使用SCP命令将备份文件传输到新服务器上,则可以按以下方式进行。
scp -P <ポート番号> -i <認証鍵のパス> <バックアップファイルの送信元のパス> <username>@<ipアドレス>:/home/<username>/restore
在主机上将备份文件解压缩到根目录。
cd /
sudo tar -xzvf /home/<username>/restore /<backup_file>.tar.gz
-x是一个展开选项。
当展开时,若有相同文件名,则会被覆盖并完成恢复。恢复完成后,请重新启动。
sudo reboot
当新服务器重新启动后,从备份中恢复的系统将可用。
根据IP地址进行的配置更改
需要查找IP地址,如果有一个包含原先系统IP地址的文件,那么需要更改IP地址。例如,在/etc目录中检查是否有之前的IP地址。
grep -r <ipアドレス> /etc
假设这样做就好。