一部の.xmlファイル(2016年4月から5月の間)をSolarisサーバー(サーバーA)からLinuxサーバー(サーバーB)に転送する必要があります。ここで、Solaris サーバーは、スクリプトが作成され実行されるホームディレクトリです。
私はこのために次のスクリプトを書いた。
#!/bin/sh
ssh [email protected] touch --date "2016-04-01" /tmp/start.tmp
ssh [email protected] touch --date "2016-05-31" /tmp/end.tmp
for i in `find /home/hs/demo*.xml -type f -newer /tmp/start.tmp -not -newer /tmp/end.tmp`
do
scp [email protected]:$i [email protected]:/data/Output
done
ただし、サーバーAでスクリプトを実行すると、パスワードの入力を求められます。 (人の介入なしに自動的にscpファイルを作成するにはSolarisが必要なため、これが発生したくありません。)
scpを実行するために、Solarisサーバー(サーバーA-10.20.14.49)で「ssh-keygen -t rsa」コマンドを使用して鍵を生成し、公開鍵をLinuxサーバー(サーバーB-10.24.21.11)にコピーしました。
ただし、サーバーAでスクリプトを実行した後でも、まだパスワードの入力を求められます。サーバーAの/home/hs/.sshの下の構成ファイル、その内容は次のとおりです。
Host oa
User dev
HostName 10.24.21.11
IdentityFile ~/.ssh/my_ssh_key
ただし、Solaris(サーバーA)はまだパスワードの入力を求められます。