Linux脚本的问题

Linux脚本的问题,linux,scripting,Linux,Scripting,我不熟悉脚本编写之类的东西,但我正在尝试编写一个脚本,它将在特定时间运行,将网络驱动器备份到异地目标 我已手动执行命令,并已计算出时间,但在尝试运行脚本时出现以下错误: cd /volume1/Data lftp -u [username],[password] [Destination] Mirror [directoryname] -R -n 无法cd到卷1/数据,未找到第3行镜像 我得检查一下大小写和拼写 hmmmMirror是一个lftp命令,脚本在lftp进程

我不熟悉脚本编写之类的东西,但我正在尝试编写一个脚本,它将在特定时间运行,将网络驱动器备份到异地目标

我已手动执行命令,并已计算出时间,但在尝试运行脚本时出现以下错误:

    cd /volume1/Data
    lftp -u [username],[password] [Destination]
    Mirror [directoryname] -R -n
无法cd到卷1/数据,未找到第3行镜像

我得检查一下大小写和拼写


hmmm

Mirror
是一个lftp命令,脚本在lftp进程结束后执行它,就好像它是一个shell命令一样,这永远不会发生,因为程序是交互式的,并等待输入。您需要做的是将lftp命令传递给lftp的标准输入:

cd /volume1/Data 
echo "Mirror [directoryname] -R -n" | lftp -u [username],[password] [Destination]

或者,您可以使用lftp的功能执行脚本(检查手册中的
-f
选项)并将lftp命令分离到一个单独的文件中,然后将该文件传递给lftp,或者检查
-e
选项。它允许您将lftp命令内联到参数列表中。

Mirror
是一个lftp命令,脚本在lftp进程结束后执行它,就像它是一个shell命令一样,这是永远不会发生的,因为程序是交互式的,并等待输入。您需要做的是将lftp命令传递给lftp的标准输入:

cd /volume1/Data 
echo "Mirror [directoryname] -R -n" | lftp -u [username],[password] [Destination]

或者,您可以使用lftp的功能执行脚本(检查手册中的
-f
选项)并将lftp命令分离到一个单独的文件中,然后将该文件传递给lftp,或者检查
-e
选项。它允许您将lftp命令内联到参数列表中。

您需要将
mirror
命令传递到
lftp

cd /volume1/Data
user=joe
passwd=foo
host=myhost
dir=somedir

lftp -e "mirror $dir -R -n" -u $user,$passwd $host

您需要将
mirror
命令传递给
lftp

cd /volume1/Data
user=joe
passwd=foo
host=myhost
dir=somedir

lftp -e "mirror $dir -R -n" -u $user,$passwd $host
您也可以使用如下“此处文档”:

#!/bin/sh
host=Destination
user=username
pass=password
folder=directoryname
cd /volume1/Data
lftp -u $user,$pass $host  << EOF
mirror $folder -R -n
EOF
#/垃圾箱/垃圾箱
主机=目的地
用户=用户名
pass=密码
文件夹=目录名
cd/卷1/数据
lftp-u$user,$pass$host您还可以使用如下“here document”:

#!/bin/sh
host=Destination
user=username
pass=password
folder=directoryname
cd /volume1/Data
lftp -u $user,$pass $host  << EOF
mirror $folder -R -n
EOF
#/垃圾箱/垃圾箱
主机=目的地
用户=用户名
pass=密码
文件夹=目录名
cd/卷1/数据

lftp-u$用户,$pass$host-ash:cd:line 1:cant cd to directory是否确实存在该目录,并且您有访问该目录的权限?如果该目录包含在脚本中,它确实具有登录名?完整错误为:-ash:cd:line 1:cant cd to directory lftp:lftp:名称或服务未知镜像:未连接1检测到错误抱歉我们的internet转到目录目录:cd:line 1:cant cd to directory是否确实存在该目录,并且您有访问该目录的权限?如果该目录包含在脚本中,则该目录确实具有登录名?完整错误为:-ash:cd:line 1:cant cd to directory lftp:lftp:名称或服务未知镜像:未连接1错误检测到抱歉我们的internet已断开downit的意思是它所说的,只需将其更改为您可以写入的其他目录(如第6行的cd/home/myhome或cd/tmp)它的意思是,只需将其更改为您可以写入的其他目录(如第6行的cd/home/myhome或cd/tmp)