Edw*_*144 0 linux backup tar archiving ubuntu
我想知道是否可以在 Linux 中使用一个命令创建多个目录的备份。特别是在 VPS 上托管的不同网站。
假设我在 /var/www 中有四个网站:
/var/www/site01
/var/www/site02 /var/
www/site03 /
var/www/site04
我想使用 tar 来压缩每个目录。是否可以使用单个命令将 /var/www 中的每个子目录压缩到它自己的单独存档中?
site01.tar、site02.tar、site03.tar、site04.tar
tar
多个目录?自动化!
正如 @Seth 在评论中提到的,如果您的目标是减少不必要的输入,那么可以使用脚本。
#!/bin/bash # backup_dirs_to_tars.sh - 将 $backupdir 中的目录备份到 # $outputdir 中的各个 tars # NB 忽略 .hidden(点)目录 备份目录=/var/www/ 输出目录=/home/example/backups cd $backupdir 对于 */ 中的目录;做 tar -cf“$outputdir/$(basename $dir).tar”“$dir” 完毕
解释:
$backupdir
for dir in */
循环遍历目录($backupdir
由于尾随/
)tar
每个目录(以目录 via 命名)的存档basename
$outputdir
如果您愿意,您当然可以gzip
通过将创建行更改为tar -czf "$outputdir/$(basename $dir).tar.gz" "$dir"
来创建 ped 存档。
我不知道您想通过备份方案实现什么目标,但值得注意rdiff-backup
(使用rsync
和增量)和rsnapshot
(使用硬链接来节省不更改的文件的空间);两者都易于使用,并根据您的使用方式提供“旧版本”文件。
还值得记住一句格言:“未经测试的备份不是备份”。确保您可以从备份中恢复!两者rdiff-backup
都rsnapshot
提供了一个可以立即浏览的工作集,这对于验证备份是否确实有效非常有用。