0

申し訳ありませんが、これは十分にカバーされた質問ですが、簡単な解決策が見つからないようです...

問題を解決しようとしていますが、誰かが助けてくれることを願っています。

スクリプトを作成していますが、この特定の問題を解決する唯一の方法は、ファイルをリモート Web サーバーに FTP 送信することです。

.sh スクリプトで、最初に FTP を試しましたが、これを行うとパスワードに問題があるようです。いくつかの回避策を試しましたが、うまくいきませんでした。

次にwputを試しましたが、それも失敗するようです。

#!/bin/sh
wput -v file.php ftp://usr:pass@host.co.uk/docroot/

 bash wput.sh
wput.sh: line 2: $'\r': command not found
--12:20:58-- `/file.php'
    => ftp://user:xxxxx@host.co.uk/docroot/
Connecting to host.co.uk:21... connected!
Logging in as user ... Logged in!
==> CWD docroot
==> TYPE I ... done.
 ... failed.
==> SYST ... done (UNIX Type: L8).
==> PASV ... done.
==> TYPE A ... done.
==> LIST ... done.
==> TYPE I ... done.
==> PASV ... done.
' not understood) Skipping this file
FINISHED --12:20:59--
Transmission of 1 file failed.
wput.sh: line 4: $'\r': command not found
wput.sh: line 5: $'\r': command not found

私が間違っているところを教えてくれる人はいますか?これは、ファイルのアクセス許可の問題か何かでしょうか?

私が必要としているのは、ファイルを自分のコンピューターから Web スペースに可能な限り単純な方法で自動的に転送するための単純なソリューションだけです。

ありがとう

4

2 に答える 2

1

使用してみてくださいncftpput

ncftpputヘルプ メニューに表示される例:

  ncftpput -u gleason -p my.password Elwood.probe.net /home/gleason stuff.txt
  ncftpput -u gleason Elwood.probe.net /home/gleason a.txt (prompt for pass)
  ncftpput -a -u gleason -p my.password -m -U 007 Bozo.probe.net /tmp/tmpdir a.txt
  tar cvf - /home | ncftpput -u operator -c Server.probe.net /backups/monday.tar
于 2013-01-24T13:30:29.663 に答える
0

誰かが興味を持っている場合に備えて、ここに完成したスクリプトがあります。単純な php スクリプトに接続して、リモート IP を特定するだけです。(これは数分ごとに cron ジョブによって行われます)。見つけた IP を、前回 IP アドレスを保存したファイルと比較します。変更された場合、比較ファイル「file1.txt」に IP が保存され、ISP がホストする Web スペースまでのファイルが FTP で保存されます。計画では、IP をページのリダイレクトの変数として使用したり、最新の IP を確認したりすることができます。

#!/bin/bash 
# Check IP address compare to see if its changed.
# Save the file to a couple of different places locally
# FTP the file to regular hosting.
# File to keep IP address in
IP_FILE=file1.txt
echo "File to store and compare IP:" $IP_FILE
# wget to check current IP address.
IPADDRESS=$(wget URL/ip.php -O - -q)
echo "New IP:" $IPADDRESS
# Read the previous IP address from file
source $IP_FILE
echo "Old IP:" $OLD_IP
# Compare the new to the old IP
if [ "$IPADDRESS" != "$OLD_IP" ]
then
    echo "New IP address detected: $IPADDRESS"
    # Write new address to file
    `echo "OLD_IP=$IPADDRESS" > $IP_FILE`

    # FTP File to the appropriate places
    # Store it locally as well
    ncftpput -u user -p pass webspace.co.uk /remotefiletostorein/ /local/file/tostore.php

fi

これを行うことのセキュリティリスクについてはわかりませんが、今のところ問題ではありませんが、お願いします。自分が何をしているのかわからない限り、これを使用しないでください。これが安全でないことについては責任を負いません笑。

ただし、動的ホスティングなどのバックアップ ソリューションを提供します。

于 2013-02-08T13:57:10.407 に答える