2011-08-16 8 views
1

私はスクリプティングなどで相対性的に新しいですが、オフサイトの宛先にネ​​ットワークドライブをバックアップする特定の時刻に実行されるスクリプトを作成しようとしています。Linuxスクリプトに関する問題

私は手動作業のコマンドを持っているとタイミングを考え出したが、スクリプトを実行しようとしたとき、私は、次のエラーを取得しています:

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

は、音量の/データにcd、ライン3ミラーではないことはできません見つかりました。

大文字とスペルを確認しました。プログラムはインタラクティブであり、入力を待つため

なるほど、

答えて

2

Mirrorはlftpのコマンドであり、LFTP処理が終了した後、それがシェルコマンドであるかのようにスクリプトはそれを実行し、起こりませんでした。あるいは、

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

、あなたは別のファイルにスクリプト(-fオプションのマニュアルを確認してください)、別のlftpのコマンドを実行するにはlftpのの能力を使用することができます。何をする必要があるとlftpのの標準入力にlftpのコマンドを渡すことですこのファイルをlftpに渡すか、-eオプションをチェックしてください。 lftpコマンドをパラメータリストにインライン展開することができます。

2

あなたはlftpmirrorコマンドを渡す必要があります:

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

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

-ash:CD:行1:カントCDへのディレクトリ – Ranger

+0

ディレクトリが存在し、そのディレクトリにアクセスする権限がありますか? – dogbane

+0

スクリプトにログインする必要がありますか? – Ranger

2

ます。また、このような "ここに文書" を使用することができます

#!/bin/sh 
host=Destination 
user=username 
pass=password 
folder=directoryname 
cd /volume1/Data 
lftp -u $user,$pass $host << EOF 
mirror $folder -R -n 
EOF 
+0

感謝を下って行き検出これに。 – Ranger

+0

はまだエラーが出ています:行6:cd:cant cdをディレクトリ – Ranger

+0

に書き出して、書き込むことができる別のディレクトリに変更してください(たとえば、cd/home/myhomeまたはcd/tmpの6行目) – UUlum

関連する問題