5

tar进行文件备份和恢复操作

 2 years ago
source link: https://owenyk.github.io/2021/12/30/tar%E8%BF%9B%E8%A1%8C%E5%A4%87%E4%BB%BD%E5%92%8C%E6%81%A2%E5%A4%8D%E6%93%8D%E4%BD%9C/#comment-waline
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

创建测试文件夹和文件

mkdir backupTest
cd backupTest
touch a.txt b.txt c.txt
ls -al
# 输出
总用量 4
drwxrwxrwx 1 yk yk 336 12月 30 12:46 .
drwxrwxrwx 1 yk yk 4096 12月 30 12:46 ..
-rwxrwxrwx 1 yk yk 0 12月 30 12:46 a.txt
-rwxrwxrwx 1 yk yk 0 12月 30 12:46 b.txt
-rwxrwxrwx 1 yk yk 0 12月 30 12:46 c.txt

语法:tar -g 备份存放目录/snapshot -czvf 备份存放目录/备份文件名称 被备份目录
第一次运行为全量备份,此后为增量备份。

tar -g /media/yk/备用/debian11_Backup/backupTest/snapshot -zcvf /media/yk/备用/debian11_Backup/2021-12-30-full.tar.gz ./
# 输出
tar: .:目录是新的
./
./a.txt
./b.txt
./c.txt
./snapshot

复制全量备份文件并重命名为2021-12-30-add.tar.gz,后面测试增量备份时用到此备份文件名称.

cp ../2021-12-30-full.tar.gz ../2021-12-30-add.tar.gz

删除测试文件夹所有文件

rm ./*
ls -al
# 输出
总用量 4
drwxrwxrwx 1 yk yk 48 12月 30 13:36 .
drwxrwxrwx 1 yk yk 4096 12月 30 12:46 ..

语法:tar -zxvf 备份存放目录/备份文件名称 (恢复备份目录)

tar -zxvf /media/yk/备用/debian11_Backup/2021-12-30-full.tar.gz ./
# 输出
./
./a.txt
./b.txt
./c.txt
./snapshot

执行一次备份

注意备份文件名,用前面全量备份时复制的新文件2021-12-30-add.tar.gz

tar -g /media/yk/备用/debian11_Backup/backupTest/snapshot -zcvf /media/yk/备用/debian11_Backup/2021-12-30-add.tar.gz ./
# 输出
tar: .:目录是新的
./
./a.txt
./b.txt
./c.txt
./snapshot

改变已有文件内容

a.txt新增内容,并新建文件d.txte.txt

echo "hello world" >> a.txt && touch d.txt e.txt
ls -al
# 输出
总用量 5
drwxrwxrwx 1 yk yk 440 12月 30 13:44 .
drwxrwxrwx 1 yk yk 4096 12月 30 12:46 ..
-rwxrwxrwx 1 yk yk 12 12月 30 13:44 a.txt
-rwxrwxrwx 1 yk yk 0 12月 30 12:46 b.txt
-rwxrwxrwx 1 yk yk 0 12月 30 12:46 c.txt
-rwxrwxrwx 1 yk yk 0 12月 30 13:44 d.txt
-rwxrwxrwx 1 yk yk 0 12月 30 13:44 e.txt
-rwxrwxrwx 1 yk yk 0 12月 30 13:32 snapshot
tar -g /media/yk/备用/debian11_Backup/backupTest/snapshot -zcvf /media/yk/备用/debian11_Backup/2021-12-30-add.tar.gz ./
# 输出
./
./a.txt
./d.txt
./e.txt
./snapshot

删除测试文件夹所有文件

rm ./*
ls -al
# 输出
总用量 4
drwxrwxrwx 1 yk yk 48 12月 30 13:56 .
drwxrwxrwx 1 yk yk 4096 12月 30 12:46 ..

执行全量恢复

tar -zxvf /media/yk/备用/debian11_Backup/2021-12-30-full.tar.gz ./
# 输出
./
./a.txt
./b.txt
./c.txt
./snapshot
ls -al
# 输出
总用量 4
drwxrwxrwx 1 yk yk 336 12月 30 13:32 .
drwxrwxrwx 1 yk yk 4096 12月 30 12:46 ..
-rwxrwxrwx 1 yk yk 0 12月 30 12:46 a.txt
-rwxrwxrwx 1 yk yk 0 12月 30 12:46 b.txt
-rwxrwxrwx 1 yk yk 0 12月 30 12:46 c.txt
-rwxrwxrwx 1 yk yk 0 12月 30 13:32 snapshot

执行增量恢复

tar -zxvf /media/yk/备用/debian11_Backup/2021-12-30-add.tar.gz ./
./
./a.txt
./d.txt
./e.txt
./snapshot
ls -al
# 输出
总用量 5
drwxrwxrwx 1 yk yk 336 12月 30 13:49 .
drwxrwxrwx 1 yk yk 4096 12月 30 12:46 ..
-rwxrwxrwx 1 yk yk 12 12月 30 13:49 a.txt
-rwxrwxrwx 1 yk yk 0 12月 30 12:46 b.txt
-rwxrwxrwx 1 yk yk 0 12月 30 12:46 c.txt
-rwxrwxrwx 1 yk yk 0 12月 30 13:49 d.txt
-rwxrwxrwx 1 yk yk 0 12月 30 13:49 e.txt
-rwxrwxrwx 1 yk yk 120 12月 30 13:48 snapshot

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK