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