redhat/centos下文件的传输(文件同步和网站备份)

Linux文件的传输与同步:

u=143413369,2431384729&fm=26&gp=0.jpg

1 scp命令,linux与linux文件传输时使用

1.1 将本地/root目录下的所有文件传送到远程10.10.10.111下的/root目录下

scp /root/* root@10.10.10.111:/root

1.2 将远程地址10.10.10.111下的/var/www/html目录下的文件传送到本地/backup目录下

scp root@10.10.10.111:/var/www/html/*

1.3  scp使用ssh协议,因此ssh端口号非22的话请加-P 端口号,如下

scp -P 34567 /root/* root@10.10.10.111:/root

2 lrzsz,linux与windows电脑文件传输时使用

2.1 centos系统本身没有自带这个软件,所有需要手动安装

yum install lrzsz -y

从windows电脑上传文件到linux

rz

此时会弹出来一个对话框,选择要上传的文件,就会上传到当前终端所在的目录里

3 rsync命令,linux与linux系统文件同步时使用

注:同步和复制的区别,同步只会从源目录复制目标目录没有的内容,并且同步是单向的,目标目录的文件不会反向同步到源目录。

首先输入rsync,如果提示没有这个命令的话需要安装它,比如最小化安装的系统就没有这个命令。

yum install rsync -y

本地同步,将test目录下所有文件同步到backup目录下,效果类似于cp,但是已有的文件它就不会复制过来。

rsync -avz test/* backup/

远程同步,同步远程地址10.10.10.111下的/root目录的所有文件到backup目录下

rsync -avz root@10.10.10.111:/root/* backup/

这条命令属于交互式同步,什么意思呢,就是类似于scp,需要你手动输入一个yes,手动输入一次远程地址的ssh密码。rscync也可以配置非交互式同步,需要将账号密码写到rsync的配置文件,同步时加上有账号密码的配置文件参数就可以了。再将它加入crontab就可以做到定时同步,是非常方便的。

远程同步是非常有用的一个功能,可以对网站或者重要项目进行异地备份,一旦服务器意外挂掉,有了备份文件我们将可以迅速的恢复网站和项目。


Centos7下网站的备份:

{45451A12-AD6F-4ED0-9487-6D07C2868B24}_20190523153441.jpg

1 首先建立备份目录

mkdir /backup/website

2 接着编辑脚本

vi backup.sh

3 脚本如下

#!/bin/bash
cd /usr/share/nginx/html
tar -czvf /backup/website/website_$(date +%F-%H-%M).tar.gz website
if [ $? -eq 0 ];then
echo "网站备份操作成功!"
elseecho "网站备份操作失败!"
exit 1
fi
mysqldump -u root -ppassword website > /backup/website/website_$(date +%F-%H-%M).sql
if [ $? -eq 0 ];then
        echo "数据库备份操作成功!"
else    echo "数据库备份操作失败!"
exit 1
fi
result=`ls /backup/website | wc -l`
usage=`du -sh /backup/website | awk '{print $1}'`
echo "/backup/website目录下共有$result个文件,共占用$usage"
list=`ls /backup/website`
echo -e "文件内容如下:\n $list"

4 增加执行权限

chmod +x backup.sh

5 运行脚本

./backup.sh


最后编辑于:2019/05/22作者: admin

发表评论