linux脚本远程备份文件到本地
时间: 2024-09-27 17:11:35 浏览: 73
Linux脚本可以利用rsync命令来实现远程备份文件到本地。rsync是一个强大的、网络化的数据同步工具,它能够高效地进行双向传输,并且支持增量备份。下面是一个简单的bash脚本来展示这个过程:
```bash
#!/bin/bash
# 定义源路径和目标路径
SOURCE_PATH="远程服务器路径/要备份的文件夹"
LOCAL_BACKUP_DIR="/path/to/local/backup"
# 用户名和密码(如果需要,通过ssh key对应该忽略此部分)
REMOTE_USER="username"
REMOTE_PASS="password" # 也可以使用密钥对认证
# 使用 rsync 进行备份,添加 -avz 参数来进行递归(a: archive模式,v: verbose, z: compression)
# 如果有密码,可以在rsync后面加上'-avz -e "sshpass -p $REMOTE_PASS ssh $REMOTE_USER@$SOURCE_PATH $LOCAL_BACKUP_DIR
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "备份完成!"
else
echo "备份失败,请检查错误信息。"
fi
相关问题
linux shell脚本备份文件
可以使用Linux的shell脚本来备份文件。以下是一些备份文件的常用命令:
1. 复制文件:cp source_file destination_file
2. 压缩文件:tar -czvf backup.tar.gz source_folder
3. 将文件备份到远程服务器:scp source_file remote_user@remote_host:/remote/folder
4. 自动备份文件:使用crontab命令设置定时任务,例如每天晚上备份一次文件。
以上是一些常用的备份文件的方法,可以根据实际需要进行调整和修改。
生成代码:Linux系统执行定时任务脚本:定义了一个用户名和密码,用于连接到远程服务器:。 使用 lftp 工具连接到远程服务器,并切换到 FTP/SFTP 模式。 在远程服务器上切换到指定目录,并将本地目录中以 T_DAS 开头的文件上传到远程服务器。 将远程服务器上符合条件的 T_DAS 开头的文件移动到备份目录,并删除超过 7 天的旧文件。 将本地目录中的 zwbw.log 文件上传到远程服务器。 将远程服务器上的 zwbw.log 文件移动到备份目录,并删除超过 7 天的旧文件。 需要注意的是,本段代码中的 cd 命令和 find 命令都是针对本地文件系统而非远程服务器的。
以下是一个示例的 Linux 系统执行定时任务脚本,可以将其保存为 .sh 文件,并使用 crontab 工具设置定时任务:
```bash
#!/bin/bash
# 定义用户名和密码
user=d5000
pass=Root@123
# 使用 lftp 工具连接到远程服务器,并切换到 FTP/SFTP 模式
lftp -u $user,$pass sftp://10.165.245.223:20022<<EOF
# 在远程服务器上切换到指定目录,并将本地目录中以 T_DAS 开头的文件上传到远程服务器
cd /D5000/changchun/tdp/JLdata/D5000
lcd /home/d5000/changchun/tdp/JLdata/D5000/
put T_DAS*
# 将远程服务器上符合条件的 T_DAS 开头的文件移动到备份目录,并删除超过 7 天的旧文件
cd /D5000/changchun/tdp/JLdata/D5000
lcd /home/d5000/changchun/tdp/JLdata/D5000/
mv T_DAS* ../bak_files/
cd /home/d5000/changchun/tdp/JLdata/bak_files
find /home/d5000/changchun/tdp/JLdata/bak_files -type f -name 'T_DAS*' -mtime +7 |xargs rm -rf
# 将本地目录中的 zwbw.log 文件上传到远程服务器
cd /D5000/changchun/tdp/JLdata/D5000
lcd /home/d5000/changchun/tdp/JLdata/D5000/
put zwbw.log
# 将远程服务器上的 zwbw.log 文件移动到备份目录,并删除超过 7 天的旧文件
cd /D5000/changchun/tdp/JLdata/D5000
lcd /home/d5000/changchun/tdp/JLdata/D5000/
mv zwbw.log ../bak_files/
cd /home/d5000/changchun/tdp/JLdata/bak_files
find /home/d5000/changchun/tdp/JLdata/bak_files -type f -name 'zwbw.log' -mtime +7 |xargs rm -rf
EOF
```
该脚本实现了上述所述的文件传输和备份操作,并可以使用 crontab 工具设置定时任务,例如每天执行一次:
```bash
0 0 * * * /path/to/script.sh
```
阅读全文