我有一个包含PHP文件和其他网站的网站。我想在我的本地网站副本和服务器上的网站之间进行一键同步。如果Eclipse PDT有一个命令行实用程序或插件来执行此操作,那将是很好的。
答案 0 :(得分:11)
我会推荐lftp。它是一个复杂的,可编写脚本的命令行FTP客户端。
lftp has builtin mirror which can download or update a whole directory tree. There is also reverse mirror (mirror -R) which uploads or updates a directory tree on server. Mirror can also synchronize directories between two remote servers, using FXP if available.
lftp -f mirror.sh
<强> mirror.sh 强>
open sftp://<username>:<password>@<ip address>
mirror -c /<source> /<destination>
exit
答案 1 :(得分:7)
我找到了WinSCP。这是FTP,免费和开源: http://winscp.net/eng/docs/start
它可以在命令行中与文件进行比较(同步)
答案 2 :(得分:6)
有一个名为 FTP Synchronizer 的工具(适用于Windows),可以从命令行运行。如果不使用任何FTP库,则无法通过FTP同步文件。这个库越成熟,它就会越快地同步文件(例如它可以在其内部数据库中缓存已经同步的文件信息)。
不喜欢FTP Synchronizer? Google for alternative
答案 3 :(得分:2)
我一直在我的专用Windows服务器上使用scriptFTP超过一年,以便将我的数据库备份目录与本地服务器同步。它是一款出色的产品,允许您编写脚本(达到相当复杂的级别)并安排几乎任何FTP任务。
我与产品无关 - 只是给用户留下深刻印象。该产品精确地解决了它旨在解决的问题,并且已经证明对我来说是完全可靠的。这是商业性的 - 35美元 - 但是我花在软件上的最好的35美元之一。
答案 4 :(得分:0)
您可以尝试Aptana(http://www.aptana.org/studio/download),它提供文件传输工具,使用FTP将项目与远程服务器同步。 您可以使用脚本视图启用一个不错的功能:在保存时上传当前文件!
答案 5 :(得分:0)
我做了一个简单的脚本
#!/bin/bash
FTPLOCALFOLDER=$1
FTPLINK=$2
ls "$FTPLOCALFOLDER" > "./filesdownloaded.txt"
curl -sS "$FTPLINK" | grep -oE "(?href=\").*?(?\")" | awk -F '"' '{print $2}' > "./filesinlink.txt"
grep -v -f "./filesdownloaded.txt" "./filesinlink.txt" > "./filestodownload.txt"
echo "Start downloading"
while read p; do
echo "downloading..... $p from $FTPLINK$p"
wget "$FTPLINK""$p" -O "$FTPLOCALFOLDER""$p"
done < "./filestodownload.txt"
您可以使用链接:
./wgetSync.sh
答案 6 :(得分:-1)
PhpStorm just added two-way sync (over FTP and others)进入他们最优秀的PHP IDE。此功能位于current 3.0 EAP(测试版),而不是2.1版本。
答案 7 :(得分:-1)