【发布时间】:2011-09-15 11:08:39
【问题描述】:
我正在使用 Ruby on Rails 和 Capistrano gem。我想改进以下在配方中运行的命令(我受到博文“Uploading files for enki using capistrano”的启发):
rsync -qrpt --delete --rsh=ssh public/system/assets/users/001 #{user}@#{domain}:/www/.../shared/system/assets/001
这样可以“即时”创建子目录。此时,由于远程机器上assets/users/001目录还不存在,所以报错如下:
rsync: mkdir "/www/.../shared/system/assets/users/001" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(595) [Receiver=3.0.7]
rsync: connection unexpectedly closed (8 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-40/rsync/io.c(452) [sender=2.6.9]
如何创建所有需要的子目录以避免错误?
顺便说一句:-qrpt 部分是什么意思?
【问题讨论】:
-
"man rsync" 告诉我 -qrpt 表示安静、递归、保留权限和保留时间戳。
标签: ruby-on-rails ruby ruby-on-rails-3 directory capistrano