Bash脚本备份我的" home"夹

时间:2014-06-02 21:07:47

标签: linux bash shell sh

如何跳过备份我的“下载”文件夹?

这是我的代码:

#!/bin/bash

# Daily backup script

# Create some needed variable
day=$(date +%F)
Folder="/home/ME/"

File="/media/MediaTwo/Copy/UbuntuBackup/$day.tar.gz"

# Backup Server Configuration
tar cpzf $File $Folder

# Remove backup files older than 90 days
find $File* -mtime +90 -exec rm {} \;

4 个答案:

答案 0 :(得分:5)

tar cpzf $File --exclude=Downloads $Folder

答案 1 :(得分:2)

排除“下载”文件夹的最简单方法是向--exclude命令添加选项(即tar)。

我建议将代码的第12行修改为:

tar cpzf $File --exclude "${Folder}Downloads" $Folder

我认为这应该做你正在寻找的事情。

答案 2 :(得分:2)

使用扩展模式匹配:

shopt -s extglob; shopt -s dotglob
tar cpzf "$File" "$Folder"/!(Downloads)

答案 3 :(得分:1)

我在多核计算机上采用这一方法以获得最大速度:

tar -c --use-compress-program=pigz -f $File --exclude=Downloads $Folder