sftp を使用してローカル MacBook からリモート サーバーにファイルを移動する必要があります。
約 6000 個のファイルを取得し、それらをリモート サーバーに移動して処理する必要があります。処理システムの制限により、一度に最大 100 ファイルしか処理できません。処理システムは、監視しているフォルダーに 100 個を超えるファイルがある場合に爆撃します。
x # 分ごとに crontab を介して実行し、6,500 個のファイルを含む Mac 上のフォルダーから 100 個のファイルを「ステージング」フォルダーに移動するスクリプトをセットアップしたいと思います。次に、2 番目のスクリプトが「staging」フォルダーの内容を取得して、sftp フォルダーにアップロードします。
crontab は正常に動作していますが、移動するファイルの数を 100 に制限する方法がわかりません。
これが私がこれまでに行ったことです。たぶん私はこれを完全に間違っているので、どんな提案もいただければ幸いです!
#!/bin/bash
cd /Users/Me/Downloads/test
# Get files from unprocessed where the 6k files are located.
「ls」コマンドが「-bash: /bin/ls: Argument list too long」エラーを返す
ls unprocessed/*.pdf | head -n 99 > flist
while read f
do
mv "$f" .
done < flist
このスクリプトは、それを sftp サーバーにアップロードします。
./exp.sh
これにより、完了すると別のフォルダーに移動します
for f in *PAY*.pdf
do
mv "$f" processed/
done
どんな助けでも大歓迎です!