Linux-批量创建多个目录的备份


0

我想知道在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


尝试rsync -a
MariusMatutiae

1
取决于您对“一个命令”的定义。一种简单的方法是只为每个目录运行tar的循环。
赛斯(Seth)

我不想手动输入每个目录,其想法是我可以使用cron自动备份所有站点,但是如果我添加新站点而无需手动添加另一个cron,我也希望它能正常工作工作。我想知道是否可以使用PHP,将/ var / www的内容添加到一个数组中,然后在每一个上运行tar的foreach循环?
Edward144 '17

甚至不使用gzip?文本(如HTML文件)可完美压缩
Xen2050

Answers:


3

如何建立tar多个目录?

自动化!

正如@Seth在评论中提到的那样,如果您的目标是减少不必要的键入,那么请使用脚本。

#!/斌/庆典
#backup_dirs_to_tars.sh-将$ backupdir中的目录备份到 
#$ outputdir中的单个tar
#NB忽略.hidden(点缀)目录

BACKUPDIR = /无功/网络/
outputdir = /家庭/示例/备份

cd $ backupdir

对于* /中的目录 做
        tar -cf“ $ outputdir / $(基本名称$ dir).tar”“ $ dir”
DONE

说明:

  • 改成 $backupdir
  • for dir in */通过循环目录$backupdir(由于拖尾/
  • 在指定的tar目录中创建每个目录的存档(通过命名后的目录basename$outputdir

如果愿意,您当然可以gzip通过将创建行更改为tar -czf "$outputdir/$(basename $dir).tar.gz" "$dir"来创建ped存档。

关于备份的更广泛的思考(其他资源)

我不知道您要使用备份方案来实现什么,但是rdiff-backup(使用rsync和增量)和rsnapshot(使用硬链接来节省不变的文件上的空间)是值得了解的。两者都易于使用,并根据您的使用方式提供文件的“旧版本”。

还值得记住这一口头禅:“未经测试的备份就是无备份”。确保可以从备份中还原!双方rdiff-backuprsnapshot提供一个工作组,其可以立即浏览,这是用于验证备份确实工作很有用。


0

我正在使用类似的策略将工作中的Linux服务器备份到Windows共享文件夹。基本上,我备份www,/ etc / apache2和MySQL数据库中的内容。我设置了一个cron作业来自动执行它,它已经独立运行了多年。这是我的操作方法 https://ittutorials.net/linux/ubuntu/how-to-backup-ubuntu-to-a-windows-share/


1
添加至少简短的说明版本将使其成为答案。实际上,它只是一个链接,而且它们往往会消失
Xen2050
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.