![奇怪的 rsync 行为删除已传输的文件](https://linux22.com/image/209716/%E5%A5%87%E6%80%AA%E7%9A%84%20rsync%20%E8%A1%8C%E4%B8%BA%E5%88%A0%E9%99%A4%E5%B7%B2%E4%BC%A0%E8%BE%93%E7%9A%84%E6%96%87%E4%BB%B6.png)
我在 rsync 方面遇到了一个奇怪的问题。
服务器硬盘出现故障,我已更换了另一个硬盘。
我正在使用的 rsync 命令是完全相同的并且没有其他变化。
旧磁盘没有 rsync 错误,也没有错误消息。
所有文件都会正常传输。
使用更换磁盘后,我遇到了一些奇怪的行为。
这是命令:
sudo rsync -PaShzH --mkpath --delete --stats -e 'ssh -p XXXX -i /key' /source/ [email protected]:/destination/
rsync 启动,我可以看到文件正在传输到目的地。
几个小时后,rsync 失败并显示:
rsync: [receiver] mkstemp "/directory/file" failed: No such file or directory (2)
奇怪的是:
(1)当rsync失败时,它似乎以某种方式删除了目的地上的所有传输文件。所以,当我检查目的地时,它是完全地空的。
(2) 有时,它似乎还会将目标安装点的所有权从用户更改为 root。
我已经测试了磁盘,但除非我丢失了某些东西,否则它看起来不错:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 195 195 051 Pre-fail Always - 18299
3 Spin_Up_Time 0x0027 188 175 021 Pre-fail Always - 7591
4 Start_Stop_Count 0x0032 092 092 000 Old_age Always - 8132
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 060 060 000 Old_age Always - 29612
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 91
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 80
193 Load_Cycle_Count 0x0032 198 198 000 Old_age Always - 8902
194 Temperature_Celsius 0x0022 105 098 000 Old_age Always - 47
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline - 0
我不知道为什么 rsync 使用与旧磁盘相同的命令失败。
此外,尚不清楚为什么它会在遇到错误时删除所有传输的文件。我本以为已经传输的文件会保留下来。
编辑:我还看到这些错误:
recv_generator: mkdir "/directory/file" failed: Permission denied (13)