写一个scp脚本监测/home/d5000/sichuan/data/pms_message下是否有生成文件,如果有则将文件拷贝到msdbus1:/home/d5000/sichuan/cimsvg/out下,并输出日志
时间: 2023-06-28 19:04:50 浏览: 89
springboot整合mybatisplus实现分页查询文件存储记录scp、sftp进行数据迁移功能代码
下面是一个简单的SCP脚本,可以监测指定目录下是否有新的文件,如果有则将其拷贝到目标服务器,并输出日志。
```bash
#!/bin/bash
# 监测的目录
SRC_DIR=/home/d5000/sichuan/data/pms_message
# 目标服务器信息
DEST_HOST=msdbus1
DEST_USER=d5000
DEST_DIR=/home/d5000/sichuan/cimsvg/out
# 日志文件路径
LOG_FILE=/var/log/scp_monitor.log
# 检查目录是否存在
if [ ! -d "$SRC_DIR" ]; then
echo "[ERROR] 目录 $SRC_DIR 不存在" >> "$LOG_FILE"
exit 1
fi
# 监测目录中的新文件
while true; do
NEW_FILE=$(inotifywait -q -e create "$SRC_DIR" | awk '{print $3}')
# 输出日志
echo "发现新文件: $NEW_FILE" >> "$LOG_FILE"
# 拷贝文件到目标服务器
scp "$SRC_DIR/$NEW_FILE" "$DEST_USER@$DEST_HOST:$DEST_DIR" >> "$LOG_FILE" 2>&1
# 输出完成信息
echo "已将文件 $NEW_FILE 拷贝到 $DEST_HOST:$DEST_DIR" >> "$LOG_FILE"
done
```
上述脚本使用 inotifywait 工具监测指定目录下是否有新的文件生成,如果有则使用 SCP 命令将其拷贝到目标服务器,并将操作日志输出到文件中。你可以根据实际需求修改目录路径、目标服务器信息和日志路径。
阅读全文