Anything-sync-daemon (简体中文)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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翻译。上次翻译日期:2013-06-28。如果英文版本有所更改,则您可以帮助同步翻译。

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

帮助

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