首页 > 系统相关 >分享一个linux服务器迁移文件脚本

分享一个linux服务器迁移文件脚本

时间:2023-12-19 19:00:56浏览次数:38  
标签:rsync LOG -- echo FILE linux 服务器 迁移 DIR

#!/bin/bash
# 定义源和目标服务器
SRC_SERVER=""
DEST_SERVER="[email protected]"
# 定义源和目标目录
SRC_DIR="/home"
DEST_DIR="/home"
# 定义rsync命令选项 1500是 1500kb
RSYNC_OPTS="-avz --partial --progress --delete --bwlimit=1500"
# 定义日志文件路径
LOG_FILE="/data/rsyns/rsync.log"
# 检查上一次同步是否完成
if [ -e /tmp/rsync.pid ]; then
    echo "上一次同步未完成,请稍后再试。" >> $LOG_FILE
    # 检查是否存在部分传输的文件
    if [ -d "$SRC_DIR/.rsync-partial" ]; then
        echo "检测到部分传输的文件,正在恢复同步..." >> $LOG_FILE
        # 使用rsync和SSH远程同步数据,使用--partial和--append选项恢复传输
        if rsync $RSYNC_OPTS --log-file=$LOG_FILE --partial --append $SRC_DIR/ $DEST_SERVER:$DEST_DIR/; then
            echo "数据同步成功。" >> $LOG_FILE
        else
            echo "数据同步失败。" >> $LOG_FILE
        fi
    else
        exit 1
    fi
    exit 0
fi
# 记录当前同步进程ID
echo $$ > /tmp/rsync.pid
# 使用rsync和SSH远程同步数据
if rsync $RSYNC_OPTS --log-file=$LOG_FILE --partial-dir=.rsync-partial $SRC_DIR/ $DEST_SERVER:$DEST_DIR/; then
    echo "数据同步成功。" >> $LOG_FILE
else
    echo "数据同步失败。" >> $LOG_FILE
fi
# 删除同步进程ID文件
rm /tmp/rsync.pid

标签:rsync,LOG,--,echo,FILE,linux,服务器,迁移,DIR
From: https://blog.51cto.com/u_15266301/8892389

相关文章

  • 制作安装Linux操作系统的启动U盘方法
    制作安装操作系统的启动U盘安装系统前,我们需要制作系统安装启动U盘(或者DVD,但已经很少使用DVD,所以不再介绍),通过启动U盘来帮助我们安装下载好的Linux系统。接下来我们来介绍在Windows、Linux和MacOS三种系统下的制作启动U盘方法。准备条件:1.已经下载到本地的Linux系统安装镜像......
  • Linux传输文件(FileZilla)和远程登录(MobaxTerm)软件的使用
    说明:SSH默认走22端口,FTP默认走21,我们使用的是22端口,即SFTP,其默认也是22端口。1、查看22端口是否被监听:netstat-ntlp|grep22  1.1、没被监听:    sudoapt-getinstallufw    sudoufwenable      sudoufwallow222、Linux端安装SSHServer    s......
  • 改变上传的svg颜色并生成新的svg文件,再上传或者更新至服务器上
    最近有个需求,就是把上传的svg改颜色,并生成新的svg图片上传值服务器上<!DOCTYPEhtml><html><head><title>上传svg并修改颜色得到新的svg文件</title><style>#svgContainer{padding:50px;display:inline-block;}......
  • 恒创科技:云服务器1核2G和2核4G差距大吗?
    ​云服务器是运行在云计算平台上的虚拟服务器,当您创建云服务器时,云提供商会为您分配一定数量的虚拟化硬件,例如CPU、内存等,而在这些分配的配置中,1核2G和2核4G通常算是主流的选择,那么,这些配置参数到底是什么意思呢?它们之间差距大吗?本文主要从处理器核心数量、内存容量、建站选......
  • 物联网架构实例—解决Linux(Ubuntu)服务器最大TCP连接数限制
    1.前言:在对物联网网关进行压测的时候,发现在腾讯云部署网关程序,设备接入数量只能达到4000多个长连接,之后就再也无法接入终端了。之前在阿里云部署的时候明明可以到达2万左右,而且腾讯云的这个服务器比阿里云的硬件配置还要高上不少,不至于那么差,随后查阅大量资料终于完美解决。2.解......
  • linux root密码重置过程
    在GRUB引导菜单中,使用向下箭头键选择以"CentOSLinux"开头的行,然后按下"e"键进入编辑模式按e键盘出现下面的界面(可以下拉),需要编辑修改:ro改为rwinit=/sysroot/bin/sh按Ctrl+x,使用单用户模式启动(进入救援模式使用 chroot /sysroot命令访问系统chroot/sysrootpasswd确认......
  • ​物理服务器
    物理服务器物理服务器是一种独立的、非虚拟化的计算机设备,它通常被用作高性能应用、数据库、存储和网络等关键业务应用的运行平台。物理服务器可以提供更高的处理能力、更好的安全性和可靠性,但需要用户自行维护和管理。物理服务器的形式多种多样,常见的有塔式服务器、机架服务器和......
  • linux 挂载数据盘
    输入命令fdisk-l查看硬盘,找到要挂载的数据盘,此处是/dev/vdb即红框内的image.png第一次使用数据盘,挂载之前用命令mkfs.xfs/dev/vdb格式化数据盘,此处用xfs格式,需要换其他文件系统格式的话(如ext4等),改成对应格式即可,如用ext4,则是mkfs.ext4/dev/vdb。格式化时请将盘符改成你服务器......
  • 在Linux上安装Anaconda
    要在Linux上安装Anaconda,请按照以下步骤进行操作:1、首先,前往Anaconda官方网站(https://www.anaconda.com)下载适用于Linux的Anaconda安装程序。根据您的操作系统选择正确的版本(Python 2.x或Python3.x)和适用于您的系统架构(32位或64位)的安装程序。2、打开终端或命令行界面。3、在......
  • C语言实现TCP CS模型代码,客户端服务器
    服务端将接受客户端发送的数据并将其转换成大写形式,然后再发送给客户端,客户端将发送一个字符串给服务器,并显示来自服务器的响应内容。服务器点击查看代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/socket.h>#include<netinet/in.h>#......