自动同步备份:

1.  在tmp下建一个b.sh文件

#vi /tmp/b.sh

把以下内容写到里面去

#!bin/sh

rsync -ave ssh root@192.168.48.60:/home/ /home/ganfic/laji/

:wq

2    第2步就要涉及到crontab了,在命令行输入

#crontab -e

然后把 *  *   *   *   *   sh /tmp/b.sh       //* * * * *部分代表每一分钟,然后   sh /tmp/b.sh 表示运行 b.sh脚本在下面我再补充说明),-e 使用环境变量EDITOR或RVISUAL指定的编辑器编辑crontab文件。新创建的crontab文件会放在/var/spool/cron目录下,文件名就是用户名,用cd  /var/spool/cron后 会看到用户文件,然后用 vi root我是在root用户下的)就会看到*  *   *   *   *   sh /tmp/b.sh已经被转到这里来了。

这样就完成了,之后就是看看 有没有运行了,打开日志文件,日志文件在  #vi  /var/log/cron 就会看到有没有运行了,也可以这样,在没有用自动运行之前,我们是用手动操作的,那时也把60的机子的/home目录下的文件拷了下来,那样,我们进本机的/home/ganfic/laji文件夹里就会看到60机子下/home的内容,把这些内容都删了,然后再过1分钟看会不会把内容再补上,有的话就是成功了。

Linux 防火墙是用iptables,所以我们至少在服务器端要让你所定义的rsync 服务器端口通过,客户端上也应该让通过。

iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT

启动rsync服务:

/usr/bin/rsync --daemon  --config=/etc/rsyncd/rsyncd.conf

$rsync_HOME/rsync --daemon  --config=/etc/rsyncd/rsyncd.conf

补充:

rsync 的相关知识:

rsync命令的用法

在配置完rsync服务器后,就可以从客户端发出rsync命令来实现各种同步的操作。rsync有很多功能选项,下面就对介绍一下常用的选项:

rsync的命令格式可以为:

1. rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST

2. rsync [OPTION]... [USER@]HOST:SRC DEST

3. rsync [OPTION]... SRC [SRC]... DEST

4. rsync [OPTION]... [USER@]HOST::SRC [DEST]

5. rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST

6. rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

命令格式:

#rsync [option] 源路径 目标路径

其中:

[option]:

a:使用archive模式,等于-rlptgoD,即保持原有的文件权限

z:表示传输时压缩数据

v:显示到屏幕中

e:使用远程shell程序可以使用rsh或ssh)

--delete:精确保存副本,源主机删除的文件,目标主机也会同步删除

--include=PATTERN:不排除符合PATTERN的文件或目录

--exclude=PATTERN:排除所有符合PATTERN的文件或目录

--password-file:指定用于rsync服务器的用户验证密码

源路径和目标路径可以使用如下格式:

rsync://[USER@]Host[:Port]/Path   <--rsync服务器路径

[USER@]Host::Path             <--rsync服务器的另一种表示形式

[USER@]Host:Path             <--远程路径

LocalPath                    <--本地路径

crontab的用法:

crontab [ -u user ] { -l | -r | -e }

-u user 表示指定用户user的crontab文件,这个前提事你必须要有其权限才能其他用户的crontab文件。如果使用该选项的化,默认设定当前用户的crontab文件。

-l  列出目前的crontab文件的内容

-r 删除目前的crontab文件

-e 使用环境变量EDITOR或RVISUAL指定的编辑器编辑crontab文件。新创建的crontab文件会放在/var/spool/cron目录下,文件名就是用户名。

crontab内容的格式如下:

分<>时<>日<>月<>星期<>要运行的命令

其中<>表示空格

分:1-59   时:0-230表示子夜)   日:1-31    月:1-12    星期:0-60表示星期天)

crontab 文件中的每一行内容必须有上面这5个时间域,并用空格隔开。在时间域中可以用横杆“-”表示一个时间范围,如星期一到星期五:1-5,还可以使用逗号 “,”,如要在星期一和星期三执行任务,可以写成1,3表示。可以用星号“ * ”表示连续的时间段,如果对某个时间域没有特定的限制就可以在该域中写入*。 在crontab文件中注释的行在行首用“ # ”表示。下面举例说明哈。

#每一分钟执行一次

* * * * *  test.sh

#每五分钟执行一次

*/5 * * * * test.sh

#星期一和星期五的12点到18点之间每两小时整执行一次

0 12-18/2 * * 1,5 test.sh


相关内容