Anything-sync-daemon

来自 Arch Linux 中文维基

Tango-view-refresh-red.png本文内容或本节内容已经过期。Tango-view-refresh-red.png

原因: 请提供模板的第一个位置参数以概括原因。 (在Talk:Anything-sync-daemon讨论)

Tango-preferences-desktop-locale-modified.png这篇文章或章节的翻译不反映原文。Tango-preferences-desktop-locale-modified.png

原因:Not updated since its initial translation in 2013, out of sync with English page(在 Talk:Anything-sync-daemon# 中讨论)

anything-sync-daemon (asd) 是一个小型的、用以将特定目录移至 tmpfs 并定期同步回硬盘(HDD/SSD)的伪守护进程。其原理为通过 symlinking 与 rsync 同步两处的文件。ASD 的一项主要目的为创造完全透明的用户体验。

Asd or Psd?[编辑 | 编辑源代码]

注意: 如果你只想同步浏览器的 profile,我们建议不要使用 ASD,而是使用专门为此设计的、可以检查浏览器运行状况的 PSD。ASD 并不会做这些检查,在某些情况下,浏览器 profile 的数据可能丢失。

ASD 的优势[编辑 | 编辑源代码]

使用这一守护进程的优势在于两方面:

  1. 降低硬盘负荷;
  2. 速度

当目标目录被移至 tmpfs 之后,相应的读写操作也将从硬盘转移到内存,因而可以减少硬盘读写,同时提升运行速度与响应速度。内存的访问时间以纳秒计,而硬盘则是以毫秒计,这中间差了六个数量级,或者说,内存比硬盘快出一百万倍。

安装与设置[编辑 | 编辑源代码]

anything-sync-daemon 可以从 AUR 下载。安装方法与其它包一样。

编辑 /etc/asd.conf[编辑 | 编辑源代码]

配置文件在随软件包安装的 /etc/asd.conf。要启动 ASD,至少需要指定需要同步的目标目录。

例如:

WHATTOSYNC=('/var/lib/monitorix' '/srv/http' '/foo/bar')

你可以修改你的发行版的 tmpfs 的位置。需要修改的话,取消 VOLATILE 行的注释。需要注意的是,对于 Arch Linux 来说,/dev/shm 的默认地址可以正常运行。运行诸如 Bleachbit 这样的程序时,请仔细阅读它的警告,因为它非常喜欢删除 /tmp 中储存的文件,这也是为什么 /dev/shm 更理想的原因。

你可以修改 tmpfs 中文件链接的权限。为了保护用户的隐私,默认权限是 700

使用[编辑 | 编辑源代码]

除了 debug 以外,不要直接调用 /usr/bin/anything-sync-daemon。当守护进程启动时回自动进行第一次同步。如果你的系统中装有 Cron 的话,它可以每隔一小时调用它同步、更新文件。最后,当停止 ASD 时,它会进行最后一次同步。

Systemd[编辑 | 编辑源代码]

请使用附带的守护进程文件管理 ASD(/usr/lib/systemd/system/asd.service):

# systemctl [option] asd.service

可用的选项包括:

start  启动守护进程;创造 symlink 并且管理 tmpfs 中的目标目录。
stop  关闭进程;移除 symlink 并将 tmpfs 中的文件写回硬盘。
enable  启动时自动运行。
disable  禁止自动运行。

Debug 模式[编辑 | 编辑源代码]

使用 debug 选项可以告诉用户,基于 /etc/asd.conf 的设定,ASD 会做哪些工作。可以像这样运行:

$ anything-sync-daemon debug

(可选)自定义更新周期[编辑 | 编辑源代码]

注意: 这一步是可选的, asd 可以自己每小时更新。

如果使用者希望提高同步频率的话,可以执行如下命令,在 crontab 中添加一行配置,让 cron 调用 ASD 的 sync 功能:

# crontab -e

例如希望每十分钟同步一次的话:

 */10 * * * *     /usr/bin/anything-sync-daemon resync &> /dev/null

帮助[编辑 | 编辑源代码]

请至 讨论贴 发表评论或提问。