GoGPT Best VPN GoSearch

OnWorks 网站图标

rsnapshot - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 rsnapshot

这是 rsnapshot 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


rsnapshot - 远程文件系统快照实用程序

概要


快照 [-vtxqVD[-c cfgfile] [命令] [参数]

商品描述


快照 是一个文件系统快照实用程序。 它可以对本地和
任意数量机器的远程文件系统。

本地文件系统快照使用 rsync的(1). 安全的远程连接是
用 rsync over 处理 SSH(1), 而匿名 rsync 连接只是使用 rsync
服务器。 远程和本地传输都依赖于 rsync。

快照 节省的磁盘空间比您想象的要多得多。 所需空间量
大约是一个完整备份的大小,加上每个附加文件的副本
改变。 快照 大量使用硬链接,所以如果文件没有改变,
下一个快照只是指向完全相同文件的硬链接。

快照 通常由 cron 作业或一系列 cron 作业以 root 身份调用。 这是
但是,可以使用备用配置文件以任意用户身份运行。

所有重要的选项都在一个配置文件中指定,该文件默认位于
at /etc/rsnapshot.conf. 可以在命令行上指定备用文件。 有
还有可以在命令行上传递的附加选项。

命令行选项如下:

-v 详细,显示正在执行的 shell 命令

-t 测试,显示将要执行的 shell 命令

-c 备用配置文件的路径

-x 一个文件系统,不要在每个备份点内跨分区

-q 安静,抑制非致命警告

-V 与 -v 相同,但有更多细节

-D 大量诊断信息

配置


/etc/rsnapshot.conf 是默认配置文件。 此文件中的所有参数必须是
由制表符分隔。 /usr/share/doc/rsnapshot/examples/rsnapshot.conf.default.gz 可以使用
作为参考。

建议复制
/usr/share/doc/rsnapshot/examples/rsnapshot.conf.default.gz/etc/rsnapshot.conf
然后修改 /etc/rsnapshot.conf 以满足您的需求。

长行可以分成几行。 “延续”行 必须 以空格开头
或制表符。 连续行将包含所有前导和尾随空格
剥离,然后在前一行附加一个中间的制表符
当配置文件被解析时。

以下是允许的参数列表:

配置版本 配置文件版本(必需)。 默认值为 1.2

快照根 保存所有快照的本地文件系统路径

包含_conf 此时在配置中包含另一个文件。

这是递归的,但在指定时可能需要注意路径
要包含的文件。 我们检查您指定的文件是否为
可读,如果不是,将大喊错误。 我们建议使用完整路径。 作为
一种特殊情况,include_conf 的值可能包含在 `backticks` 中,在这种情况下
它将被执行,并且它吐到 STDOUT 的任何内容都将包含在
配置。 请注意,可以解释 shell 元字符。

没有创建根目录 如果设置为 1,rsnapshot 将不会创建 snapshot_root 目录

cmd_rsync rsync 的完整路径(必需)

cmd_ssh ssh 的完整路径(可选)

cmd_cp cp 的完整路径(可选,但必须是 GNU 版本)

如果您使用的是 Linux,您应该取消 cmd_cp 的注释。 如果您使用的是平台
没有 GNU cp,你应该把 cmd_cp 注释掉。

使用 GNU cp,rsnapshot 可以处理普通文件和特殊文件(例如
作为 FIFO、套接字和块/字符设备)一次性完成。

如果 cmd_cp 被禁用,rsnapshot 将使用它自己的内置函数,
native_cp_al() 备份常规文件和目录。 这将是
随后单独调用 rsync,将特殊文件移过来(假设
有任何)。

cmd_rm rm 的完整路径(可选)

命令记录器 记录器的完整路径(可选,用于系统日志支持)

cmd_du du 的完整路径(可选,用于磁盘使用情况报告)

cmd_rsnapshot_diff rsnapshot-diff 的完整路径(可选)

cmd_preexec

预执行脚本(可选)的完整路径(加上任何参数)。 此脚本将运行
紧接在每次备份操作之前(但不是任何轮换)。 如果执行
失败,rsnapshot 将立即停止。

cmd_postexec

postexec 脚本(可选)的完整路径(加上任何参数)。 这个脚本将
每次备份操作后立即运行(但不是任何轮换)。 如果
执行失败,rsnapshot 会立即停止。

linux_lvm_cmd_lvcreate

linux_lvm_cmd_lvremove

linux_lvm_cmd_挂载

linux_lvm_cmd_umount

lvcreate、lvremove、mount 和 umount 命令的路径,用于 Linux LVM。
您还可以包括命令的选项。 lvcreate、lvremove、mount 和
管理 LVM 卷的快照需要 umount 命令,并且
否则可选。

保留 [姓名] [编号]

“名称”是指此备份级别的名称(例如,alpha、beta,因此也称为
'间隔')。 “number”是这种类型的间隔的快照数量
那将被保留。 “name”的值将是传递给的命令
快照 执行这种类型的备份。

不推荐使用的“retain”别名是“interval”。

计费示例: 保留 阿尔法 6

[root@localhost]# 快照 阿尔法

对于此示例,每次运行时,都会发生以下情况:

/alpha.5/ 将被删除(如果存在)。

/alpha.{1,2,3,4} 将全部旋转 +1(如果存在)。

/alpha.0/ 将被复制到/alpha.1/ 使用硬
链接。

然后每个备份点(如下所述)将被同步到相应的
目录在/alpha.0/

必须在配置文件中按顺序指定备份级别,从最频繁到
最不频繁。 第一个条目是将与备份同步的条目
点。 随后的备份级别(例如,beta、gamma 等)简单地旋转,使用
每个更高的备份级别从它下面的一个中提取它的 .0 目录。

计费示例:

保留 阿尔法 6

保留 测试 7

保留 伽玛 4

beta.0/ 将从 alpha.5/ 移动,而 gamma.0/ 将从 beta.6/ 移动

alpha.0/ 将直接从文件系统同步。

链接目标 1

如果您的 rsync 版本支持 --link-dest(2.5.7 或更高版本),您可以启用
这是为了让 rsync 处理 GNU cp 或内置子例程会处理的一些事情
否则做。 启用此功能会使 rsnapshot 使用稍微复杂的代码
分支,但它是在非 Linux 系统上支持特殊文件的最佳方式。

先同步 1

sync_first 更改 rsnapshot 的行为。 启用此功能后,所有调用
具有各种备份级别的 rsnapshot 只需旋转文件。 处理所有备份
通过使用“sync”参数调用 rsnapshot。 同步的文件存储在
snapshot_root 下的“.sync”目录。

这允许在 rsnapshot 中断的情况下更好地恢复
同步操作的中间,因为同步步骤和旋转步骤是分开的。
这也意味着您可以轻松地在命令行上运行“rsnapshot sync”
不必担心强制所有其他目录向上旋转。 这个好处
代价是需要再增加一个相当于磁盘空间的快照。 默认值为 0
(离开)。

详细 2

程序运行时要打印的信息量。 允许的值为
1 到 5。默认值为 2。

1 Quiet 仅显示致命错误
2 默认显示警告和错误
3 Verbose 显示正在执行的等效 shell 命令
4 Extra Verbose 与verbose 相同,但有更多细节
5 调试各种信息

日志级别 3

这个数字和 详细 以上,但它决定了多少数据
写入日志文件,如果正在写入。

日志文件 /var/日志/rsnapshot

rsnapshot 日志文件的完整文件系统路径。 如果已定义,则为日志文件
将被写入,数据量由 日志级别. 如果这是
注释掉,不会写入日志文件。

包括 [文件名模式]

这使用 --include 指令直接传递给 rsync。 这个参数
可以根据需要多次指定,每行定义一个模式。 看
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 rsync的(1) 语法手册页。

排除 [文件名模式]

这使用 --exclude 指令直接传递给 rsync。 这个参数
可以根据需要多次指定,每行定义一个模式。 看
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 rsync的(1) 语法手册页。

包含文件 /路径/到/包含/文件

这使用 --include-from 指令直接传递给 rsync。 见
rsync的(1) 语法手册页。

排除文件 /路径/到/排除/文件

这使用 --exclude-from 指令直接传递给 rsync。 见
rsync的(1) 语法手册页。

rsync_short_args -a

传递给 rsync 的短参数列表。 如果未指定,“-a”是默认值。
请注意,这些必须彼此相邻。 例如,“-az”是
有效,而“-a -z”则无效。

“-a”是 rsync 的“归档模式”,它告诉它复制尽可能多的文件系统
元数据,因为它可以用于每个文件。 这特别不*不*包括
有关硬链接的信息,因为这会大大增加 rsync 的内存使用量
并放慢速度。 如果您需要在备份中保留硬链接,请添加
“H”到此为止。

rsync_long_args - 删除 --数字 ID - 相对的 --删除-排除

传递给 rsync 的长参数列表。 默认值为
--delete --numeric-ids --relative --delete-excluded 这意味着
每个备份点目标中的目录结构将与备份中的目录结构匹配
点源。

rsync_long_args 中允许使用引号,例如 --rsync-path="sudo /usr/bin/rsync".
您可以使用单 (') 或双 (") 引号,但嵌套引号(包括
混合嵌套引号)是不允许的。 也允许类似的引用
备份点 rsync_long_args。

ssh_args -p 22

要传递给 ssh 的参数。 如果未指定,则默认为无。

杜_参数 -csh

要传递给 du 的参数。 如果未指定,则默认值为 -csh。 GNU杜
支持-csh,BSD du 支持-csk,Solaris du 根本不支持-c。 GNU
推荐版本,因为它提供了最多的功能。

锁文件 /var/run/rsnapshot.pid

stop_on_stale_lockfile 0

运行 rsnapshot 时要使用的锁定文件。 这可以防止第二次调用
打败第一个。 如果未指定,则不使用锁定文件。 确保
出于安全原因,使用不可写入的目录。 锁的使用
强烈推荐文件。

如果 rsnapshot 启动时锁文件存在,它将尝试读取文件并停止
如果不能,则会出现错误。 如果它*可以*读取文件,则查看进程是否存在
与文件中注明的PID。 如果是,rsnapshot 会因错误而停止
信息。 如果没有具有该 PID 的进程,那么我们假设锁文件
过时并忽略它*除非* stop_on_stale_lockfile 在这种情况下设置为 1
我们停下来。

stop_on_stale_lockfile 默认为 0。

一个文件系统 1

防止 rsync 跨越文件系统分区。 将此值设置为 1
启用此功能。 0 将其关闭。 该参数是可选的。 默认是
0(关闭)。

使用延迟删除 1

更改 rsnapshot 的默认行为,并且最初不会删除最旧的
快照。 相反,它将该目录移动到 _delete.[processid] 并继续作为
普通的。 备份完成后,锁文件将被删除
rsnapshot 开始删除目录。

启用这意味着更快地拍摄快照(因为删除不会发生
首先),并允许任何其他 rsnapshot 进程在最后
删除正在发生。 这种好处是以使用更多磁盘空间为代价的。 这
默认值为 0(关闭)。

在 rsnapshot 版本 1.3.1 中,其工作原理的详细信息已更改。 起初
每个备份级别只能有一个 .delete 目录。 现在你可以拥有
很多,所以如果您的下一个(例如)alpha 备份开始而前一个备份仍然存在
做一个懒惰的删除,你可能会暂时挂起额外的 _delete 目录
周围。

linux_lvm_snapshotsize 2G

LVM 快照大小(lvcreate --size 选项)。

linux_lvm_快照名称 快照

创建 LVM 逻辑卷快照时使用的名称 (lvcreate --name
选项)。

linux_lvm_vgpath 的/ dev

LVM 卷组的路径。

linux_lvm_挂载路径 /mnt/lvm-快照

用于临时安装快照的安装点。

备份 /等等/ 本地主机/

备份 [email protected]:/等等/ 例子.com/

备份 rsync://example.com/path2/example.com/

备份 /无功/ 本地主机/ one_fs=1

备份 lvm://vg0/home/path2/lvm-vg0/

备份脚本 /usr/local/bin/backup_pgsql.sh pgsql_backup/

例子:

备份 /等等/ 本地主机/

备份 /等等/ 到/ .0/localhost/etc/ 上使用 rsync
本地文件系统

备份 / usr /本地/ 本地主机/

备份 / usr /本地/ 到/ .0/localhost/usr/local/ 使用
本地文件系统上的 rsync

备份 [email protected]:/等等/ 例子.com/

备份 [email protected]:/等等/ 到/ .0/example.com/etc/
通过 ssh 使用 rsync

备份 例子.com:/等等/ 例子.com/

同样的事情,但让 ssh 选择远程用户名(如
的〜/ .ssh /配置, 否则与本地用户名相同)

备份 [email protected]:/ usr /本地/ 例子.com/

备份 [email protected]:/ usr /本地/
/ .0/example.com/usr/local/ 通过 ssh 使用 rsync

备份 rsync://example.com/pub/ 例子.com/pub/

将 rsync://example.com/pub/ 备份到
/ .0/example.com/pub/ 使用匿名 rsync 服务器。
请注意,与备份本地路径和通过 ssh 使用 rsync 不同,rsync
服务器具有“模块”,它们是导出的顶级目录。
因此,模块也应该在目标路径中指定,如
如上例所示(最后是 pub/ 目录)。

备份 /无功/ 本地主机/ one_fs=1

这与其他示例相同,但请注意第四列。 这是
您如何指定每个备份点的选项来覆盖全局设置。 这个
额外的参数可以有多个选项,以分隔 逗号.

在指定 per-backup rsync excludes 时最有用,因此:

备份 根@somehost:/ 某主机 +rsync_long_args=--排除=/var/线轴/

注意+号。 这告诉 rsnapshot 到要传递的参数列表
rsync 而不是替换列表。

备份 lvm://vg0/home/path2/ lvm-vg0/

将卷组 vg0 中名为 home 的 LVM 逻辑卷备份到
/ .0/lvm-vg0/. 将创建、挂载、备份、卸载和
删除每个 lvm:// 条目的 LVM 快照。

备份脚本 /usr/local/bin/backup_database.sh 数据库备份/

在此示例中,我们指定要运行的脚本或程序。 这个脚本应该
只需在其当前工作目录中创建文件和/或目录。
然后 rsnapshot 将获取该输出并将其移动到指定的目录中
在第三列。

请注意,目标目录中的任何内容都将完全
删除并重新创建。 因此,rsnapshot 阻止您指定
将破坏其他备份的备份脚本的目标目录。

所以在这个例子中,假设 backup_database.sh 脚本只是运行一个命令
喜欢:

#!/ bin / sh的

mysqldump -uusername mydatabase > mydatabase.sql

chmod u=r,go= mydatabase.sql # r-------- (0400)

rsnapshot 将获取生成的“mydatabase.sql”文件并将其移动到
/ .0/db_backup/ 目录。 在随后的运行中,rsnapshot
检查根据先前文件创建的文件之间的差异。
如果备份脚本在下次运行时生成相同的输出,文件将
与之前的硬链接,并且不会有额外的磁盘空间
占用。

备份执行 SSH [email protected] “杜 -sh /.offsite_backup"
可选的/ 备份执行 rsync的 -az /.快照/daily.0
[email protected]:/.offsite_backup/ 必需的/ 备份执行 /斌/真/

backup_exec 只是运行列出的命令。 第二个论点不是
必需,默认值为“可选”。 它指定了重要性
命令返回 0。有效值为“可选”和“必需”。 如果
命令被指定为可选,命令的非零退出状态将
导致输出警告消息。 如果命令被指定为
'required',命令的非零退出状态将导致错误
正在输出的消息和 rsnapshot 本身将以非零退出退出
状态。

请记住,制表符必须分隔所有元素,并且尾部必须有斜杠
在每个目录的末尾。

行首的井号 (#) 被视为注释。

把它们放在一起(一个示例文件):

# 这是注释,请记住标签必须分隔所有元素

配置版本 1.2

快照根 /.snapshots/

cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh
#cmd_cp /bin/cp
cmd_rm /bin/rm
命令记录器 /usr/bin/记录器
cmd_du /usr/bin/du

linux_lvm_cmd_lvcreate /sbin/lvcreate
linux_lvm_cmd_lvremove /sbin/lvremove
linux_lvm_cmd_挂载 /bin/挂载
linux_lvm_cmd_umount /bin/卸载

linux_lvm_snapshotsize 2G
linux_lvm_snapshotname rsnapshot
linux_lvm_vgpath 的/ dev
linux_lvm_mountpath /mnt/lvm-快照

保留 alpha 6
保留测试版 7
保留伽马 7
保留增量 3

备份 /等等/ 本地主机/
备份 / home / 本地主机/
备份脚本 /usr/local/bin/backup_mysql.sh mysql_backup/

备份 [email protected]:/等等/ foo.com/
备份 [email protected]:/ home / foo.com/
备份 [email protected]:/ home / 邮箱.foo.com/
备份 rsync://example.com/pub/example.com/pub/
备份 lvm://vg0/xen-home/ lvm-vg0/xen-home/
backup_exec echo "备份完成!"

用法


快照 任何用户都可以使用,但对于系统范围的备份,您可能想要
以 root 身份运行它。

如果需要人工干预,备份通常会被忽略,因此首选方式
是从 cron 运行它。

当您第一次设置备份时,您可能还想从
命令行一次或两次以了解它在做什么。

这是一个示例 crontab 条目,假设备份级别 阿尔法, 测试, 伽玛三角洲
已经定义在 /etc/rsnapshot.conf

0 */4 * * * /usr/bin/rsnapshot 阿尔法

50 23 * * * /usr/bin/rsnapshot 测试

40 23 * * 6 /usr/bin/rsnapshot 伽玛

30 23 1 * * /usr/bin/rsnapshot 三角洲

此示例将执行以下操作:

每天 6 个 alpha 备份(每 4 小时一次,在 0,4,8,12,16,20、XNUMX、XNUMX、XNUMX、XNUMX、XNUMX)

每天晚上 1:11 进行 50 个测试版备份

每周 1 次 gamma 备份,每周六晚上 11:40(每周的第 6 天)

每个月 1 次增量备份,每月 11 日晚上 30:1

安排较大的备份级别在更新之前运行一段时间通常是个好主意
较低的。 例如,在上面的 crontab 中,注意“beta”运行前 10 分钟
“α”。 这样做的主要原因是 beta 轮换将拉出最旧的 alpha
并使其成为最年轻的 beta(这意味着下一个 alpha 轮换将不需要
删除最旧的 alpha),这样效率更高。 第二个原因是它是
更难预测最低备份级别需要多长时间,因为它实际上需要
执行源的 rsync 以及所有备份所做的轮换。

如果 rsnapshot 需要超过 10 分钟来执行“测试版”轮换(通常包括
删除最旧的测试版快照),那么您应该增加备份之间的时间
水平。 否则(假设您已设置 锁文件 参数,如推荐)您的
alpha 快照有时会失败,因为 beta 仍然有锁定。

请记住,这些只是程序运行的时间。 设置数量
备份存储,设置 保留 数字在 /etc/rsnapshot.conf

要检查 rsnapshot 使用的磁盘空间,您可以使用“du”参数调用它。

例如:

快照 du

这将准确显示快照根目录中占用了多少磁盘空间。 这个
功能需要 UNIX du 命令安装在您的系统上,以便它支持
“-csh”命令行参数,并在您的路径中。 你也可以覆盖你的路径
设置和使用 cmd_du 和 du_args 参数传递给 du 的标志。

还可以将相对文件路径作为第二个参数传递,以获取有关
特定的文件或子目录。

快照 du 本地主机/家/

首选 GNU 版本的“du”。 BSD 版本也运行良好,但不
支持 -h 标志(改用 -k,查看以千字节为单位的总数)。 其他版本的
“du”,例如 Solaris,可能根本不起作用。

要检查两个目录之间的差异,请使用“diff”参数调用 rsnapshot,
后跟两个备份级别或目录路径。

例如:

快照 差异 beta.0 beta.1

快照 差异 beta.0/本地主机/等 beta.1/本地主机/等

快照 差异 /.snapshots/beta.0 /.snapshots/beta.1

这将调用 rsnapshot-diff 程序,它将扫描两个目录以寻找
差异(基于硬链接)。

快照 同步

在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 先同步 启用后,必须首先调用 rsnapshot 同步 论据,
其次是其他常见的 cron 条目。 同步应该发生在最低,最
频繁的备份级别,就在之前。 例如:

0 */4 * * * /usr/bin/rsnapshot 同步 && /usr/bin/rsnapshot 阿尔法

50 23 * * * /usr/bin/rsnapshot 测试

40 23 1,8,15,22 * * /usr/bin/rsnapshot 伽玛

30 23 1 * * /usr/bin/rsnapshot 三角洲

同步操作只是运行 rsync 和所有备份脚本。 在这种情况下,所有
调用只是旋转目录,即使是最低的备份级别。

快照 同步 [目的地]

在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 先同步 启用,所有同步行为发生在额外的同步步骤
(看上面)。 使用同步参数时,也可以指定备份
点目的地作为可选参数。 如果这样做,只有备份点
共享该目标路径将被同步。

例如,假设 example.com 是一个或多个共享的目标路径
你的备份点。

rsnapshot 同步 example.com

此命令只会将通常备份到 example.com 的文件同步。
它不会获得任何其他值略有不同的备份点(例如
例如.com/etc/)。 为了同步example.com/etc,您需要
再次运行 rsnapshot,使用 example.com/etc 作为可选参数。

快照 配置测试

做一个快速的健全性检查,以确保一切准备就绪。

退出 王斌金璟閣的價值觀


0 所有操作成功完成

1 发生了致命错误

2 出现了一些警告,但备份仍然完成

使用 onworks.net 服务在线使用 rsnapshot


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。