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

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

4c73669f02ed021f1a52ac0cff75a72e.png

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

相关主题

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值