Linux文件的传输与同步:
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下网站的备份:
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
发表评论