前提・実現したいこと
■実現したいこと
手動で実施しているlinuxサーバ間のファイル移動・削除をシェルスクリプトで自動実行したい
シェルスクリプトにてリモートサーバのディレクトリ内の全ファイルを取得をした後、全ファイル削除を実施したい
※定期実行はcrontabにて実施予定
サーバ1→サーバ2
サーバ1からサーバ2にsftpして、getして、その後ファイル削除
■コマンド
サーバ1内に配置しているシェルスクリプト内コマンド
・ファイル取得コマンド:
sftp [user名]@[remoteIPアドレス]:* [localディレクトリ]
・ファイル削除コマンド
ファイル削除コマンドをスクリプトで実施する方法が分かりません。
発生している問題・エラーメッセージ
手動でsftpログインすれば、"rm *"で削除できるのは理解しているのですが シェルスクリプトにすると応答モードにならないため ファイル取得コマンドのように、1行で実施可能なコマンドを確認したい
該当のソースコード
応答モードで検討していた際のコマンド: sftp [user名]@[remoteIPアドレス] [パスワード] get * rm * bye
試したこと
ファイル取得コマンドを以下に代替
sftp [user名]@[remoteIPアドレス]:* [localディレクトリ]
・ファイル削除コマンド
ファイル削除コマンドをスクリプトで実施する方法が分かりません。
補足情報(FW/ツールのバージョンなど)
応答モード以外で、ファイル削除するコマンド自体がなければ
応答モードできるようにしたいと思っています
Linuxディストリビューションとバージョンを追記しました
取得元(local)サーバ:
NAME="Red Hat Enterprise Linux Server"
VERSION="7.6 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.6"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.6 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.6:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.6
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.6"
取得先(remote)サーバ:
NAME="Red Hat Enterprise Linux Server"
VERSION="7.5 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.5"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.5 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.5:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.5
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.5"
どうぞよろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー