shell编程–循环拷贝文件到另外一个目录
背景
一直不太熟悉shell的编程语法,正好在和其他服务联调的时候,需要我循环发送数据,我这边发数据就是从特定目录里面取数据然后发送http请求。我的想法就是写个脚本,然后注册到linux上的定时任务里面,每隔10分钟执行一次下面的脚本以此来模拟不断制造源数据然后通过数据发送服务取文件发送给消费方服务。
脚本代码
#!/bin/bash
# 定义模块名称
module_array=('a' 'b' 'c')
module_array_length=${#module_array[*]}
for (( i=0;i<$module_array_length;i++ ))
do
#如果目的文件数量为0,就从源目录复制文件
current_dir_count=(`ls /tmp/uploadFiles/${module_array[i]} | wc -l`)
if [ ${current_dir_count} -eq 0 ]; then
cp -rf /home/lgw/${module_array[i]}/* /tmp/uploadFiles/${module_array[i]}
#echo "从源目录/home/lgw/${module_array[i]}拷贝文件到目的目录/tmp/uploadFiles/${module_array[i]}成功"
fi
done
脚本注册linux定时任务
- vim /etc/crontab
- 添加 */10 * * * * root /home/lgw/testData.sh
- 重启crontab生效 service crond restart