プロが教えるわが家の防犯対策術!

シェルスクリプトで、apacheのhtmlディレクトリを取得しバックアップを作成しております。
シェルスクリプトは、ユーザshコマンドによる実行です。(cronでは動かしておりません。)

保存先:/home/test/html_backup/配下
保存ファイル名:yyyymmdd.tar.gz(yyyymmddシェルスクリプト実行日となる。)

よって、/home/test/html_backup/ディレクトリ配下にある複数のバックアップ全てを、
マクロによるscp転送で取得したいと考えています。

同名ファイルが存在する場合は、常に上書きでかまいません。


サーバに接続後、下記コマンドを実行しようと思いました。

wait '$'
scprecv '/home/test/html_backup/*'
scprecv '*' 'c:\temp'


としましたが、うまくマクロが動きません。
sendlnでファイル転送ができることはわかりましたか、
今回やろうとしていることは、複数のバックアップファイルがあるため
自動でsendlnでは難しいと思っております。


どのようにttlを書けば
バックアップファイルを全部取得できるのでしょうか。

ご教授お願いいたします。

A 回答 (2件)

scprecvで指定するのはファイル名なので、ファイル名を指定しないと駄目でしょう。



ls -1 して、結果を recvln して、scprecv するのでしょうか。

私なら、Teratermを使わずに、Puttyパッケージの pscp (Windows用scpコマンド) を使って、
C:\temp>pscp -r -i id.ppk -P port user@host /home/test/html_backup .
としますね。

WinSCPのコマンドラインオプションでも同様のことは出来ると思います。
    • good
    • 0
この回答へのお礼

情報ありがとうございます。

>Puttyパッケージの pscp (Windows用scpコマンド)
Puttyでそのような方法があるのですね。

>ls -1 して、結果を recvln して、scprecv
一度情報取得して、その後の受信ですか。
やはり段階でわけるしかないですか。

Puttyパッケージの pscpの方法でかんばって見ます。
情報ありがとうございました。

お礼日時:2014/12/28 15:01

>どのようにttlを書けば



ttl ???? なんでしょうね? 確かTeraTermのマクロファイルにあるように思える。が確かではない。

そもそもだが、なんでTeraTermのマクロ言語を使用しないといけない?

普通シェルスクリプトはサーバーサイドで動作する物、シェルスクリプトの話と、TeraTermのマクロ言語の使用と切りわけて話そうね。


とりあえず、サーバー側にB-Shellファイルを保存して、実行できるところまでやってみたらいかかでしょう。

リモートからファイルを送り込むもよし、リモートログイン後、ラインエディターで書き込むのよい。後はchmodで実行権を付けて実行するだけ。でなければ、/bin/sh xxx.txtで実行される。

TeraTarmのマクロ言語の問題とシェルスクリプトの問題と切り分けて考えよう。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています