云网牛站
所在位置:首页 > Linux命令 > 在Linux系统中使用Tar命令备份用户主目录的方法

在Linux系统中使用Tar命令备份用户主目录的方法

2020-02-19 15:26:28作者:范义稿源:云网牛站

本文介绍在Linux操作系统中使用Tar命令备份用户主目录的方法:备份特定用户的主目录、使用Shell脚本备份单个用户/所有用户的主目录。tar是本地或手动备份解决方案的最佳命令之一,它不仅限于用户的主目录,还可以备份任何目录,可参考使用tar命令提取(或解压缩)tar.bz2和tbz2文件的方法

在Linux系统中使用Tar命令备份用户主目录的方法

 

tar命令的通用语法

# tar -zcvpf /[Backup_File_Location]/[Backup_Filename] /[User's_Home_Directory_Location]

注:

z:使用“gzip”压缩备份文件以使其较小。

c:创建一个新的备份存档。

v:详细列出要处理的文件。

p:保留放在存档中的文件的权限,以便以后还原。

f:使用存档文件或设备ARCHIVE。

 

如何备份特定用户的主目录

使用以下命令备份特定用户的主目录,在此示例中,我们将备份ywnz用户的主目录,并且输出文件将保存在/backup目录中:

# tar -zcvpf /backup/ywnz-backup-$(date +%d-%m-%Y).tar.gz /home/ywnz

可以使用ls命令验证生成的备份文件,如下所示:

# ls -lh /backup/

total 24K

-rw-r--r--. 1 root root 23K Feb 18 00:30 ywnz-18-02-2020.tar.gz

由于某些原因,如果想排除某些文件夹,请使用以下格式,以下示例将排除整个演示目录,并存档其余文件和文件夹:

# tar --exclude=’/home/ywnz/demo’ -zcvpf /backup/ywnz-backup-$(date +%d-%m-%Y).tar.gz /home/ywnz

如果想排除某些特征码文件或文件组,则采用类似的方法,然后使用以下格式,以下示例将从演示目录中排除.mp3和.avi文件,并将其余文件存档:

# tar --exclude=’/home/ywnz/demo’ -zcvpf /backup/ywnz-backup-$(date +%d-%m-%Y).tar.gz /home/ywnz

 

如何使用Shell脚本备份单个用户的主目录

此Shell脚本可以备份给定用户的主目录,请在文件中添加以下shell脚本:

# vi /opt/shell-scripts/home-dir-backup.sh

#!/bin/bash

DATE=$(date +%d-%m-%Y)

BACKUP_DIR="/backup"

#To backup ywnz's home directory

tar -zcvpf $BACKUP_DIR/ywnz-$DATE.tar.gz /home/ywnz

#To delete files older than 10 days

find $BACKUP_DIR/* -mtime +10 -exec rm {} \;

为home-dir-backup.sh文件设置可执行权限:

# chmod +x home-dir-backup.sh

最后运行脚本以实现目的:

# sh home-dir-backup.sh

可以使用ls命令验证生成的备份文件,如下所示:

# ls -lh /backup/

total 24K

-rw-r--r--. 1 root root 23K Feb 18 00:30 ywnz-18-02-2020.tar.gz

 

如何使用Shell脚本备份所有用户的主目录

该shell脚本允许备份所有用户的主目录,确保已将用户列表添加到user-list.txt文件中,每个用户应位于单独的行中:

# vi /opt/user-list.txt

ywnz

sudha

u1

u2

u3

u4

u5

user1

user2

创建下面的小shell脚本以实现目的:

# vi /opt/shell-scripts/home-dir-backup-1.sh

#!/bin/bash

DATE=$(date +%d-%m-%Y)

BACKUP_DIR="/backup"

#To create a new directory in the backup directory location

mkdir -p $BACKUP_DIR/$DATE

#To backup user's home directory

for user in `more /opt/user-list.txt`

do

tar -zcvpf $BACKUP_DIR/$DATE/$user-$DATE.tar.gz /home/$user

done

#To delete files older than 10 days

find $BACKUP_DIR/* -mtime +10 -exec rm {} \;

为home-dir-backup-1.sh文件设置可执行权限:

# chmod +x home-dir-backup-1.sh

最后运行脚本以实现目的:

# sh home-dir-backup-1.sh

可以使用ls命令验证生成的备份文件,如下所示:

# ls -lh /backup/18-02-2020/

total 56K

-rw-r--r--. 1 root root 23K Feb 18 00:46 ywnz-18-02-2020.tar.gz

-rw-r--r--. 1 root root 500 Feb 18 00:46 sudha-18-02-2020.tar.gz

-rw-r--r--. 1 root root 490 Feb 18 00:46 u1-18-02-2020.tar.gz

-rw-r--r--. 1 root root 489 Feb 18 00:46 u2-18-02-2020.tar.gz

-rw-r--r--. 1 root root 490 Feb 18 00:46 u3-18-02-2020.tar.gz

-rw-r--r--. 1 root root 491 Feb 18 00:46 u4-18-02-2020.tar.gz

-rw-r--r--. 1 root root 489 Feb 18 00:46 u5-18-02-2020.tar.gz

-rw-r--r--. 1 root root 582 Feb 18 00:46 user1-18-02-2020.tar.gz

-rw-r--r--. 1 root root 582 Feb 18 00:46 user2-18-02-2020.tar.gz

注:可以使用Cronjob计划执行,以下cronjobs计划每天10AM、11AM运行:

# crontab -e

0 10 * * * /opt/shell-scripts/home-dir-backup.sh

0 11 * * * /opt/shell-scripts/home-dir-backup-1.sh

 

相关主题

在Linux操作系统上修复损坏的主分区/主目录

Linux命令子频道
精选文章
热门文章