リモート環境のLinuxから指定時刻にファイルを自動でFTP転送する
とある事情から、指定時刻に FTP 経由でファイルをアップロードする必要がありました。
ローカルマシンを使うと、コンピューターをスリーブさせていたり電源を落としていると機能しません。
なので、何月何日何時何分であろうとも決められた時間に確実にファイル転送するには、リモート環境にインストールした Linux から処理を実行する必要があります。
今回はその手順の総集編といった内容です。
それぞれの詳細は下記のエントリーに記載しています。
全体の流れは以下。
- Step 1 : ローカル → リモート上の Linux へファイル転送
- Step 2 : 「ファイルを FTP 転送する」という処理のシェルスクリプトを用意
- Step 3 : 指定時刻にシェルスクリプトを実行
- 補足
Step 1 : ローカル → リモート上の Linux へファイル転送
scp <送るファイル> htk:~/dir
Step 2 : 「ファイルを FTP 転送する」という処理のシェルスクリプトを用意
#!/bin/sh ftp -p -n << EOF open <FTPサーバー名(ホスト名)> user <ユーザー名> <パスワード> binary cd <サーバー上のディレクトリ> lcd <ローカルのディレクトリ> put <アップロードするファイル> quit EOF
Step 3 : 指定時刻にシェルスクリプトを実行
# 2022年9月19日10:00 に実行 % at -f <シェルスクリプトのファイル名> 10:00 091922