我想复制目录中的所有文件,但特定子目录中的某些文件除外.我注意到'cp'命令没有--exclude选项.那么,我怎样才能做到这一点?
有人能告诉我是否应该在shell脚本中包含变量的引号?
例如,以下是正确的:
xdg-open $URL
[ $? -eq 2 ]
Run Code Online (Sandbox Code Playgroud)
要么
xdg-open "$URL"
[ "$?" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)
如果是这样,为什么?
我有一个/public_html/文件夹,在该文件夹中有一个/tmp/文件夹,其中包含70gb的文件,我并不需要.
现在,我想创建一个.tar.gz的/public_html/排除/tmp/
这是我跑的命令:
tar -pczf MyBackup.tar.gz /home/user/public_html/ --exclude "/home/user/public_html/tmp/"
Run Code Online (Sandbox Code Playgroud)
tar仍在创建,通过做一个ls -sh我可以看到MyBackup.tar.gz已经有大约30gb,我肯定知道/public_html/没有/tmp/超过1GB的文件.
我做错了什么?
我正在使用tar服务器的每日备份,并希望避免备份/ proc和/ sys系统目录,但不排除文件树中其他位置的任何名为"proc"或"sys"的目录.
例如,具有以下目录树(" bla "是普通文件):
# find
.
./sys
./sys/bla
./foo
./foo/sys
./foo/sys/bla
Run Code Online (Sandbox Code Playgroud)
我想排除./sys但不是 ./foo/sys.
我似乎找不到--exclude那样做的模式......
# tar cvf /dev/null * --exclude=sys
foo/
Run Code Online (Sandbox Code Playgroud)
要么...
# tar cvf /dev/null * --exclude=/sys
foo/
foo/sys/
foo/sys/bla
sys/
sys/bla
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?(Linux Debian 6)
如何跳过备份我的"下载"文件夹?
这是我的代码:
#!/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 {} \;
Run Code Online (Sandbox Code Playgroud) 我在/ data下有许多文件和目录。我想使用rsync在备份目录中创建硬链接。/ data / dir_1 ... dir_n / backups已经退出。
Starting point...
/data/dir_1 ... dir_n/file_1 ... file_n
Ending point...
/data/dir_1 ... dir_n/backups/dir_1 ... dir_n/file_1 ... file_n (hardlinks back to /data/dir_1 ... dir_n/file_1 ... file_n)
Run Code Online (Sandbox Code Playgroud)
仅使用rsync可以做到吗?
仅通过rsync和递归就可以为整个目录层次结构进行复制吗?