Linux同服务器内文件夹自动同步

Linux同服务器内文件夹自动同步,第1张

不知道,但是我想到一个笨办法

写个简单的shell脚本,让他定时自动运行,比如每小时,或者每两小时运行一次

执行的内容就是cp复制文件

就达到了两个文件夹内容相同了

或者说你是运行的某程序,只想查看他的日志文件,重定向下就可以了

Rsync

非常适合在两台机器之间快速同步大型、复杂的目录,例如论坛的附件目录。再配合

ssh

,则安全性也有保证,且可以利用

ssh

public

key

cron

来进行自动定时同步。

说明:两台机器分别为

localhost

remotehost

;用户分别为

localuser

remoteuser。

环境:FreeBSD

49

FreeBSD

61

代码如下

设置

ssh

public

key

认证

$ssh-keygen

-t

dsa

-b

2048

生成所需的密钥

$scp

/home/localuser/ssh/id_dsapub

remoteuser@remotehost:/home/remoteuser/ssh/localuser_id_dsapub

将公钥拷贝至

remotehost

$ssh

remoteuser@remotehost

登录到端

代码如下

$cd

ssh/

;

cat

localuser_id_dsapub

>>

authorized_keys

至此,设置

ssh

认证完毕。

设置

rsync

确认两端机器都安装

rsync

freeBSD

ports

,安装非常方便。

写个脚本名为

backupsh

,内容如下:

代码如下

#!/bin/sh

RSYNC=/usr/local/bin/rsync

SSH=/usr/bin/ssh

KEY=/home/localuser/ssh

/id_rsa

RUSER=remoteuser

RHOST=remotehost

RPATH=/remote/dir

LPATH=/this/dir

$RSYNC

-az—delte

-e

“$SSH

-i

$KEY”

$RUSER@$RHOST:$RPATH

$LPATH

-a

选项相当于选项

-rlptgoD

。简单来讲,此选项可递归并将几乎所有的东西同步过去,非常有用。注意的是,

-a

默认不会保存

hardlinks

,不过可以单独用

-H

选项来实现。

-z

选项在传输中压缩文件,这无疑加快同步速度。

-delete

选项会删除接受方一些不应存在的文件,此文件在发送方已经被删除,这将保持目录完全同步。

cron

每天凌晨1点来跑这个脚本

代码如下

$crontab

-e

0

1

/home/localuser/bin/backupsh

友情提示

rsync是没有自动启动同步功能了,如果我们要定时去备份一个网站数据我们就需要用到定时功能了,上面的例子来使用到了linux中$crontab命令来定时执行备份数据脚本了哦。

用RSYNC同步的化需要用sersync这样的软件,这样可以保证在文件块级同步,但是这样还是会存在数据库的不一至性,所以如果你想做数据库同步的方案,还是做dataguard这样的方案比较好一点,

以上就是关于Linux同服务器内文件夹自动同步全部的内容,包括:Linux同服务器内文件夹自动同步、linux中rsync异步服务器实现文件同步与备份、怎么在linux上用rsync同步文件以及它的用法和scp的用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9294646.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存