我需要使用 sftp 将文件从本地 MacBook 移动到远程服务器。
我需要获取大约 6000 个文件并将它们移动到远程服务器进行处理。由于处理系统的限制,我一次最多只能处理 100 个文件。如果它监控的文件夹中的文件超过 100 个,处理系统就会爆炸。
我想设置一个脚本,以便每隔 x # 分钟通过 crontab 运行一次,并将 100 个文件从 Mac 上包含 6,500 个文件的文件夹移动到“暂存”文件夹。然后第二个脚本将拾取“暂存”文件夹的内容并将其上传到 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
任何帮助,将不胜感激!