在将目标从本地目录更改为 CIFS 挂载后,我遇到了 rsync 脚本的问题。源目录中的所有文件都会引发此 mkstemp 协议错误,尽管目标中没有显示任何文件,但该过程仍需要一定的时间才能完成。
root@VirtualBox:/# rsync -aPh --progress [email protected]:home/backup /mnt/1TBHDD/backup --delete
receiving incremental file list
backup/
rsync: mkstemp "/mnt/1TBHDD/backup/.2022-05-22T13:09:38_db_backup.sql.gz.JVyRsP" failed: Protocol error (71)
52.49M 0% 50.06MB/s 0:02:39
答案1
问题不在于 rsync,正如我最初所想的那样,而是 rsync 传递了错误消息。跑步:
touch /mnt/1TBHDD/backup/.2022-05-22T13:09:38_db_backup.sql.gz.JVyRsP
回到:
touch: cannot touch '/mnt/1TBHDD/myfile/.2022-05-22T13:09:38_db_backup.sql.gz.JVyRsP': Protocol error
该错误是因为 windows/CIFS 文件名中不允许使用冒号。改变我的命名约定,远离这些字符解决了这个问题。