linux ftp 批量取删文件shell 防止文件丢失
时间: 2024-01-09 14:06:05 浏览: 128
为了避免在下载和删除文件时出现问题而导致文件丢失,您可以在脚本中添加一些错误处理和日志记录的代码。以下是一个示例脚本:
```bash
#!/bin/bash
HOST='ftp.example.com'
USER='your_username'
PASSWD='your_password'
REMOTE_DIR='/path/to/remote/directory'
LOCAL_DIR='/path/to/local/directory'
LOG_FILE='/path/to/log/file'
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd $REMOTE_DIR
lcd $LOCAL_DIR
mget *
mdelete *
quit
END_SCRIPT
if [ $? -eq 0 ]; then
echo "$(date +'%Y-%m-%d %H:%M:%S') - FTP download and delete completed successfully" >> $LOG_FILE
else
echo "$(date +'%Y-%m-%d %H:%M:%S') - FTP download and delete failed" >> $LOG_FILE
fi
exit 0
```
请将 `ftp.example.com` 替换为您的 FTP 服务器地址, `your_username` 替换为您的 FTP 用户名, `your_password` 替换为您的 FTP 密码, `/path/to/remote/directory` 替换为您要下载的远程目录路径, `/path/to/local/directory` 替换为您要下载到的本地目录路径,`/path/to/log/file` 替换为您要记录日志的文件路径。
在脚本中,我们使用了 `$?` 变量来获取上一个命令的退出状态。如果退出状态为 0,则说明下载和删除操作都成功完成了,并将成功的信息记录到日志文件中;否则,将失败的信息记录到日志文件中。这样,即使出现错误,也可以在日志文件中查看到相关信息,从而更容易地进行排查和修复。
阅读全文