Linux命令 - crontab命令 和 rsync命令

Table of Contents

1. crontab命令 

1.1 crond简介

1.2 crond服务

1.3 crond命令详解

2. rsync命令

2.1 概述

2.2 rsync同步基本说明

2.3 rync三种工作方法


1. crontab命令 

参考链接:http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html

1.1 crond简介

是Linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程。当安装完操作系统后,默认会安装此服务工具,并且会自动启动crond进程。crond进程会每分钟定期检查是否有要执行的任务,如果有的话,则自动执行该任务。

Linux下的任务调度分为两类:系统任务调度和用户任务调度

  • 系统任务调度:系统周期性要执行的工作
    • /etc/crontab,就是系统调度任务的配置文件
  • 用户任务调度:用户定期要执行的工作,比如用户数据备份,定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。
    • /etc/cron.deny: 文件中所列用户不允许使用crontab命令
    • /etc/cron.allow: 文件中所列用户允许使用crontab命令
    • /var/spool/cron/: 所有用户的crontab文件存放的目录,以用户命名

crontab文件的含义:

用户创建的crontab文件,每一行代表一项任务,每行的每个字段代表一项设置,格式共分为6个字段,前5个是时间设置段,第6个是命令段:

Minute hour day month week command

minute:分钟,0~59任何数字
hour:小时,0~23任何数字
day:日期,1~31任何数字
month:月 1~12任何数字
week:星期几,0~7任何数字 这里0和7代表星期日
command:要执行的命令,可以使系统命令 也可以是自己编写的脚本文件

以上各字段 可以使用一下特殊字符:

*: 代表所有可能的值

,:可以用逗号隔开的值指定一个列表范围

-:可以用整数之间的中杠表示一个整数范围,例如 “2-6”表示“2,3,4,5,6”

/: 可以用正斜线之低昂时间的间隔频率 例如 “0-23/2”表示每两个小时执行一次  同时正斜线也可以和*一起使用

1.2 crond服务

1.3 crond命令详解

  • 命令格式
crontab [-u user] file
Crontab [-u user] [-e| -| |-r]
  • 命令功能:通过crontab命令,可以再固定的间隔时间执行指定的系统命令或者shell script脚本。

2. rsync命令

A fast, versatile, remote (and local) file-copying tool.

参考链接: http://www.cnblogs.com/f-ck-need-u/p/7220009.html

2.1 概述

是可以实现增量备份的工具,配合计划任务,rsync能够实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时同步。它的最终目的是实现两端主机的文件同步,但是同时也实现了scp的远程拷贝,cp的本地拷贝,rm删除和ls-l显示文件列表等功能

2.2 rsync同步基本说明

目的:实现本地主机和远程主机上的文件同步(包括本地推远程,远程拉本地),也可以实现本地不同路径下文件的同步,但是不能实现远程路径1到远程路径2的同步(这部分scp可以实现)

rsync同步过程由两部分模式组成:决定哪些文件需要同步的检查模式以及文件同步时的同步模式

  • 检查模式:按照制定规则来检查哪些文件需要被同步。默认情况下,rsync采用“quick check”算法快速检查源文件和目标文件的大小,mtime(修改时间)是否一致,如果不一致则需要传输。也可以通过参数来改变quick check的价差模式
  • 同步模式:指在文件确定要同步后,在同步过程发生前需要做哪些额外工作,如:是否先备份已经存在的目标文件,是否先删除源主机上没有但是目标主机上有的文件等

2.3 rync三种工作方法

三种工作方法:

  1. 本地文件系统上实现同步 
  2. 本地主机使用远程shell和远程主机通信
  3. 本地主机通过网络套接字连接远程主机上的rsync daemon

前两者的本质是通过管道通信,即远程shell。

第三种方式则是让远程主机上运行rsync服务,使其监听在一个端口上,等待客户端连接。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章