Linux命令 - crontab命令 和 rsync命令

    技术2022-07-21  88

    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三种工作方法

    三种工作方法:

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

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

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

     

    Processed: 0.009, SQL: 9