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

你可能感兴趣的:(Linux,linux)