之前我写过一个关于backup如何备份数据的文章http://tiroc.iteye.com/blog/1048042
今天主要记录一下,在压缩文档时指定排除一些目录和文件会遇到的问题。(目前只是我这里的情况,其他环境有待验证)
archive :my_archive do |archive|
archive.add File.expand_path("./public/system/")
#注意下边这个exclude方法的参数,videos是一个目录,但是一定不能以/结尾
archive.exclude '/home/tiroc/code/test/public/system/videos'
#而通过File.expand_path得到的路径,本身就不是以/结尾的
archive.exclude File.expand_path("./public/system/captcha/")
end
为什么以/结尾的目录就无法exclude呢?backup的压缩文件部分调用了系统的tar。使用tar命令是如果想要排除一些文件可以这样:
tar -cf test.tar --exclude='test/dir1' 'test/'
这个命令可以将当前目录下的test目录压缩成test.tar,并且排除test/dir1目录。
注意:在我的Ubuntu 10.10和10.04上发现被exclude的目录一定不能以/结尾,否则会无效。我不知道这个是系统的问题,还是tar命令本身就试着样的。还有,backup要用>=3.0.16的版本,之前的版本即使不以/结尾也不行。
分享到:
相关推荐
- **功能**:从指定文件中读取要添加到归档文件中的文件或目录列表。 - **示例**: ```bash tar -cvzf backup.tar.gz --files-from=files.txt ``` `files.txt`中每一行指定一个文件或目录。 15. **-A 或 --...
在备份过程中,可以通过编辑 `/etc/exclude.rootvg` 文件来排除不需要备份的文件系统,例如 `/usr/tmp`。这有助于减少备份所需的时间和空间。 - **创建备份的步骤**: 可以通过图形界面(Smit)或者命令行来执行 ...
- **创建备份**:例如,备份整个系统的命令可能是`tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /`。 - **压缩格式的选择**:除了gzip,你还...
此外,还将讨论如何选择合适的备份工具,以及在备份过程中需要注意的关键点。 1. **备份工具的选择** Linux系统提供了多种备份工具,如`dd`、`dump`、`cpio`等。其中,`tar`是最常用且灵活的命令行备份工具,它...
5. **从档案中提取单个文件**:`tar -xvf archive.tar file_to_extract`只提取指定文件。 6. **比较档案与文件系统**:`tar -cd archive.tar --compare`查看档案与当前目录的差异。 ### 四、注意事项 - 在处理...
2. **权限管理**:当处理含有特殊权限(如 SUID/SUID 权限)的文件时,应特别注意权限的变化。 3. **文件完整性**:在归档过程中,应确保文件的完整性和正确性。 4. **命令语法**:熟悉 **tar** 命令的语法和选项,...
2.1.1在使用rsync传输文件时,需要指定一个源和一个目的,其中一个可能是远程机器的资源信息。例如: #rsync *.c servivcer:src/ 表示将传输当前目录下所有以.c结尾的文件到机器servivcer的src目录下。如果文件已经...
- **`-f`: 文件** - 指定归档文件名为`/archive/full-backup-日期.tar.gz`。 - **`--directory=/`: 工作目录** - 设置起始目录为根目录`/`。 - **`--exclude=mnt`: 排除** - 不备份`/mnt/`目录。 - **`--exclude=...
9. **仅包含新于指定日期的文件 (-N)**: `-N`参数可以指定日期,只包含新于此日期的文件。例如,`tar -N "2022/01/01" -zcvf backup.tar.gz /path/to/dir`将只打包2022年1月1日以后修改的文件。 10. **排除文件或...
- 在数据库正常运行时备份数据文件。 - 使用`ALTER TABLESPACE ... BEGIN BACKUP`和`END BACKUP`命令。 - **联机热备的恢复** - **完全恢复**: 使用所有可用的归档日志恢复到某个时间点。 - **不完全恢复**: ...
- **排除文件**:`tar --exclude=pattern -cvf archive_name.tar directory` 可以在打包目录时排除指定模式的文件或目录。 - **保持权限和时间戳**:`tar -pcaf archive_name.tar file1 file2` 可以保存文件的权限...
### CentOS6.5环境下使用rsync增量同步备份文件的方法 #### 概述 在Linux环境中,数据备份是一项至关重要的任务,对于确保数据安全性和业务连续性具有重要意义。rsync是一款非常强大且高效的文件同步工具,它能够...
这通常意味着rsync在尝试访问或操作文件时遇到了问题,可能是由于磁盘错误、网络问题、权限问题或是其他系统级别的异常。 描述中提到,这个问题是在使用`--delete`参数后出现的。`--delete`参数告诉rsync删除目标...
' [backup] report from admin.alkivi.fr ' , include_dir => [ ' /etc ' , ' /root ' , ' /home ' , ' /usr/local ' , ' /var/log ' ], exclude_dir => [ ' /home/alkivi-backup ' , ' /root/archive ' ], hostname...
"tar-backup-restore"这一主题涉及到如何使用`tar`进行有效的数据备份以及如何在需要时恢复这些备份。下面我们将深入探讨`tar`命令的使用方法及其在备份与恢复中的应用。 `tar`(Tape Archive)最初设计是用来将...
+ -b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename + --backup-dir 将备份文件(如~filename)存放在在目录下 + -suffix=SUFFIX 定义备份文件前缀 * 文件权限参数 ...
根据提供的文件信息,“linux命令rsync.txt”,我们可以深入探讨rsync命令的相关知识点,包括其基本用法、常用选项以及实际应用场景等。 ### rsync 命令简介 rsync(remote sync)是一款在Linux系统中非常强大的...
- **-a (archive mode)**:归档模式,等同于 `-rlptgoD` 的组合,是进行文件备份时常用的选项。 - **-r (recursive)**:递归复制目录。 - **-R (relative paths)**:使用相对路径信息。 - **-b (backup)**:如果目标...
Oracle Recovery Manager (RMAN) 是Oracle数据库管理系统中的一个重要工具,主要用于数据库的备份、恢复和维护。RMAN提供了高效且灵活的备份策略,确保了数据库的安全性。以下是对RMAN配置和常用命令的详细解释: 1...