关于linux:bash脚本备份我的”home”文件夹

Bash Script to backup my “home” folder

如何跳过备份"下载"文件夹?

以下是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/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 {} \;


1
tar cpzf $File --exclude=Downloads $Folder


使用扩展模式匹配:

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


排除下载文件夹的最简单方法是在tar命令中添加一个选项(即--exclude)。

我建议修改您代码的第12行以阅读:

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

我想这应该是你想要的。


我建议在多核机器上使用这一款:

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