
非常适合在两台机器之间快速同步大型、复杂的目录,例如论坛的附件目录。再配合
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命令来定时执行备份数据脚本了哦。一、搭建时间服务器
1、在一台linux服务器安装ntp server
2、修改ntpconf配置文件
vi /etc/ntpconf
restrict default nomodify
(允许任何IP的客户机都可以进行时间同步,如果是只允许某个网段的客户机进行时间同步可以这样写restrict 1058260 mask 2552552550 nomodify)
3、以守护进程启动ntpd
#/etc/rcd/initd/ntpd -c /etc/ntpconf -p /tmp/ntpdpid
#/etc/rcd/initd/ntpd start
二、配置时间同步客户机
ntpdate 101281425
hwclock -w
使用cron 定时同步
vi /var/spool/cron/root(或crontab -e)
增加一行,在每天的1点10分、9点10分、17点10分与时间同步服务器进行同步并写入BIOS
10 1 ,9,17 root /usr/sbin/ntpdate 101281425; /sbin/hwclock -w开发建议用 svn、 git、 cvs 这种版本控制软件。这种软件好处是修改的内容提交后,服务器会保留一份修改记录。
如果你要是非要直接同步,其实用 samba 挂上直接修改就行了,但如果改错了,旧版本也就没了。
所以最佳的选择是用版本控制软件,本地修改完成后提交到服务器上。命令:ntpdate 时间服务器
ntpdate timewindowscom
时间同步服务器地址:
timenistgov
timewindowscom
time-nwnistgov
time-anistgov
time-bnistgov
默认这个时间服务器,你可以找其他时间服务器地址,希望对你有帮助!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)