linux shell脚本定时到源目录复制zip文件到目标目录

shell脚本定时到源目录复制zip文件到目标目录

新建一个.sh的文件;如copyFile.sh

mkdir copyFile.sh

然后到文件里面写脚本

#!/bin/bash

# 定义源目录和目标目录
SOURCE_DIR="/data/test/fileSource1"
DEST_DIR1="/data/test/fileTarget11"
DEST_DIR2="/data/test/fileTarget12"

# 定义临时文件名前缀和后缀
TEMP_PREFIX="temp_"
TEMP_SUFFIX=".temp"

while true; do
	# 遍历目录下的所有.zip文件
	for file in "$SOURCE_DIR"/*.zip; do
		# 检查文件是否存在
		if [ -f "$file" ]; then
			# 生成临时文件名
			temp_file="$TEMP_PREFIX$(basename "$file")$TEMP_SUFFIX"
			
			# 复制文件到目标目录并重命名
			cp "$file" "$DEST_DIR1/$temp_file"
			cp "$file" "$DEST_DIR2/$temp_file"
			
			# 将文件名改回原始名称
			mv "$DEST_DIR1/$temp_file" "$DEST_DIR1/$(basename "$file")"
			mv "$DEST_DIR2/$temp_file" "$DEST_DIR2/$(basename "$file")"
			
			# 删除原文件
			rm "$file"
			echo "处理完成文件: $file"
		fi
	done

  # 等待一分钟后再次扫描
  sleep 60
done
# echo "处理完成。"
可能遇到的问题

: /usr/bin/bash^M: bad interpreter: No such file or directory

解决办法

执行命令 which bash
将返回的路径替换掉脚本中第一行的 /bin/bash
注意不要有空格和回车

如果启动还有报这个错
执行

vim copyFile.sh
:set ff=unix
:wq!

启动

./copyFile.sh >filelog.log &

参考博客

https://www.jianshu.com/p/2f77d70d8762
https://blog.csdn.net/pengtgimust/article/details/81948605

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值