我正在使用以下 cron 语句从一个文件夹备份到同一台机器上的另一个文件夹:
19 21 * * * root rsync -ac --delete /source/folder /dest/folder
Run Code Online (Sandbox Code Playgroud)
我使用的时候pstree,看到cron fork了三个进程
??cron???cron???rsync???rsync???rsync
Run Code Online (Sandbox Code Playgroud)
和 ps
9972 ? Ds 1:00 rsync -ac --delete /source/folder /dest/folder
9973 ? S 0:29 rsync -ac --delete /source/folder /dest/folder
9974 ? S 0:09 rsync -ac --delete /source/folder /dest/folder
Run Code Online (Sandbox Code Playgroud)
为什么是三个进程?我可以限制只有一个吗?
fak*_*ker 29
http://rsync.samba.org/how-rsync-works.html
Rsync 是大量流水线化的。这意味着它是一组以(主要)单向方式进行通信的进程。一旦文件列表被共享,管道的行为如下:
generator ? 发件人?接收者生成器的输出是发送者的输入,发送者的输出是接收者的输入。每个进程独立运行,只有在管道停止或等待磁盘 I/O 或 CPU 资源时才会延迟。
您正在运行本地 rsync(源和目标是本地文件系统),因此所有三个进程都将在那里运行。
您无能为力,这是设计使然。
| 归档时间: |
|
| 查看次数: |
14878 次 |
| 最近记录: |