通常,我通过安全FTP将更新的文件/脚本上传到我的服务器,以便在更改时replace这些文件的现有副本。 但这有直接写入这些文件的讨厌的行为。 这意味着,在file upload时,这些文件/脚本将在这段时间内被加载网站的任何人破坏(由于不完整)。 我怎样才能解决这个问题?
我认为安全的FTP / SSH守护进程将足够聪明,可以在临时位置(如/ tmp)中保持正在进行的下载,直到传输完成,然后将文件快速复制到目标位置。 有没有一种简单的方法来做到这一点?
谢谢!
在每个文件的基础上,rsync有这种行为,所以我build议使用(也出于各种其他原因)。 如果你需要primefacesreplace你的整个网站,那么乔希的答案是要走的路。
(S)FTP一切到一个临时目录。 完成后,重命名目标目录并重命名临时目录以取代它。
例如,假设您正在将所有内容上传到public_html
:
通过SFTP创build一个与public_html
同级别的新目录public_html
将所有内容上传到public_html_new
当upoad完成后,将public_html
重命名为public_html_old
,将public_html_new
重命名为public_html