0

抱歉,我知道这是一个很好的问题,但我似乎找不到任何简单的解决方案......

试图解决一个问题,我希望有人能够提供帮助。

我正在创建一个脚本,我能想到的解决这个特定问题的唯一方法是通过 FTP 将文件发送到远程 Web 服务器。

.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

有谁能告诉我哪里出错了。这可能是文件权限问题还是什么?

我所需要的只是一个简单的解决方案,以尽可能简单的方式将文件从我的计算机自动传输到某个网络空间。

谢谢

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 地址的文件进行比较。如果更改了它,它会将 IP 保存在比较文件“file1.txt”中,并将 FTP 文件保存到 ISP 托管的网络空间。计划是我可以使用 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 回答