精华内容
下载资源
问答
  • 1、编写脚本 back.sh: #!bin/sh time = `date '+%y-%m-%d %H:%M:%S'` ###################数据库配置信息####################### ...mysql_back_path=数据库备份到哪里 ###################数据库配置信息...

    1、编写脚本
    back.sh:

     #!bin/sh
        time = `date '+%y-%m-%d %H:%M:%S'`
        ###################数据库配置信息#######################
        user=数据库用户名
        passwd=数据库密码
        dbname=数据库名称
        mysql_back_path=数据库备份到哪里 
        ###################数据库配置信息####################### 
        mysqldump -u $user -p$passwd $dbname > $mysql_back_path/$time.sql
    

    以上代码分别是:
    time:获取系统时间,作为备份文件的名字
    user:数据库的用户名
    passwd:数据库的密码
    dbname:数据库的名称
    mysql_back_path:数据库备份的路径
    mysqldump:这个是mysql提供的导出命令
    定时删除7天之前的数据

    find /data/andacms_back/ -mtime +7 -name "*.tar.gz" -exec rm -rf {} \;
    

    2、执行脚本时间控制
    释义
    *  *  *  *  *  command
    分 时  日  月  周  命令

    第1列表示分钟00~59 每分钟用*或者 */1表示
    第2列表示小时00~23(0表示0点)
    第3列表示日期01~31
    第4列表示月份01~12
    第5列标识号星期0~6(0表示星期天)
    第6列要运行的命令
    部分举例:
    1、在 凌晨00:10运行

    10 0 * * * /home/swz/aa.sh
    

    2、每个工作日23:59都进行备份作业。

    59 23 * * 1,2,3,4,5 /home/swz/aa.sh   或者  59 23 * * 1-5 /home/swz/aa.sh
    

    3、每分钟运行一次命令

    */1 * * * * /home/swz/aa.sh
    

    4、每个月的1号 14:10 运行

    10 14 1 * * /home/swz/aa.sh
    

    操作
    设置定时任务:

    crontab -e
    

    编写定时任务信息:

    * 0 * * * /bin/sh /home/back.sh
    

    上面这句代码,就是每天晚上12点使用sh命令自动执行我放在/home文件夹下面的back.sh文件。
    每分钟的定时任务得这么写

    */1 * * * * /bin/sh /home/back.sh
    

    编写完之后可以通过

    crontab -l
    
    展开全文
  • 达梦数据库命令行执行作业备份 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、代理初始化二、创建作业1.创建作业语句2.创建作业的参数含义三、配置作业1.配置作业语句2.配置...

    达梦数据库命令行执行作业备份
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    在管理员工作中,有许多日常工作都是固定不变的。例如,定期备份数据库,定期生产数据统计等等。这些工作一般都是可以通过作业系统完成的,而通常我们建立这些作业都是可以通过管理工具中进行图形化完成,而任何事情都是有意外的,如果有一天我们需要远程在命令行模式新建/修改作业的情况下如何去读懂,去写呢?我查询了达梦的使用手册后,粗浅的说下如何在命令行模式完成定时备份的作业。。


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、代理初始化

    如果数据库以前从未启用过代理,那么首先要对其进行初始化操作,在disql里面执行:SP_INIT_JOB_SYS(1)。
    代码如下(示例):

    SQL>SP_INIT_JOB_SYS(1);
    SP_INIT_JOB_SYS(1);
    [-2124]:对象[SYSMAILINFO]已存在.
    已使用时间:102.239(毫秒).执行号:0
    

    我这个是已经有了作业,因此会提示已存在;需要提示的是代理初始化只能由SYSDBA的账号权限去执行,如果其他账号要进行代理初始化操作必须赋予相应的权限才行。

    二、创建作业

    1.创建作业语句

    初始化代理后,我们就需要创建一个作业,创建作业通过系统过程 SP_CREATE_JOB 实现。
    语法如下:
    SP_CREATE_JOB (
    JOB_NAME VARCHAR(128),
    ENABLED INT,
    ENABLE_EMAIL INT,
    EMAIL_OPTR_NAME VARCHAR(128),
    EMAIL_TYPE INT,
    ENABLED_NETSEND INT,
    NETSEND_OPTR_NAME VARCHAR(128),
    NETSEND_TYPE INT,
    DESCRIBE VARCHAR(8187)
    )

    2.创建作业的参数含义

    我们了解下其中的参数含义:

    2.1 JOB_NAME
    作业名称。必须是有效的标识符,同时不能是 DM 关键字。作业不能重名,重名则报错。
    2.2 ENABLE
    作业是否启用。1 启用;0 不启用。
    2.3 ENABLE_EMAIL、EMAIL_OPTR_NAME、EMAIL_TYPEDM8 作业系统使用手册
    2.3.1 ENABLE_EMAIL:作业是否开启邮件系统。
    1 是;0 否。如果开启,那么该作业相关的 一些日志会通过邮件通知操作员;不开启就不会发送邮件。
    2.3.2 EMAIL_OPTR_NAME:指定操作员名称。
    如果开启了邮件通知功能,邮件会发送给该操 作员。在创建时系统会检测这个操作员是否存在,如果不存在则报错。
    2.3.3 EMAIL_TYPE:如果在开启了邮件发送之后,在什么情况下发送邮件。
    情况分为三种: 0、1、2。
    0 表示在作业执行成功后发送;
    1 表示在作业执行失败后发送;
    2 表示在作业执行结束后发送。
    2.3.4 ENABLE_NETSEND、NETSEND_OPTR_NAME、NETSEND_TYPE
    ENABLE_NETSEND:作业是否开启网络发送。
    1 是;0 否。如果开启,那么这个作业相 关的一些日志会通过网络发送通知操作员;如果不开启就不会通知。
    NETSEND_OPTR_NAME:指定操作员名称。
    如果开启了网络信息通知功能,则会通过网络发送来通知该操作员。在创建时系统会检测这个操作员是否存在,如果不存在则报错。
    NETSEND_TYPE:如果在开启了网络发送之后,在什么情况下发送网络信息。
    这个情况也有三种,和上面的 EMAIL_TYPE 是完全一样的。
    2.3.5 DESCRIBE 作业描述信息,最长 500 个字节。


    ## 3.操作示例 例题:我们创建一个作业名为test,作业为启用,不需要开启邮件系统,邮件操作员名称为’’,但一旦开启邮寄系统为执行作业成功后发送,不需要开启网路发送,操作员名称为’’,一旦开启也是执行作业成功后发送,作业描述信息为’sqlback’
    call SP_CREATE_JOB('test',1,0,'',0,0,'',0,'sqlback');
    

    如果管理员发现作业中有个不合理的需要修改,可以调用系统过程来实现,但记住作业的名称不能修改;例如我们修改下备注信息:

    SP_ALTER_JOB('test',1,0,'',0,0,'',0,'修改备注信息');
    

    作业属性修改后需要重新配置作业,使其生效

    SP_JOB_CONFIG_START('test'); 
    SP_JOB_CONFIG_COMMIT('test');
    

    而如果管理员要删除作业则是

    SP_DROP_JOB('TEST');
    

    三、配置作业

    1.配置作业语句

    作业建立好后需要对这个作业进行配置,配置作业是用系统过程SP_JOB_CONFIG_START
    为开始,那么我紧接这前面test的作业继续配置下去

    call SP_JOB_CONFIG_START('test');
    

    test为要配置的作业的名称。执行时会检测这个作业是否存在,如果不存在则报错。
    增加作业的步骤通过系统过程 SP_ADD_JOB_STEP 实现。
    语法如下:
    SP_ADD_JOB_STEP (
    JOB_NAME VARCHAR(128),
    STEP_NAME VARCHAR(128),
    TYPE INT,
    COMMAND VARCHAR(8187),
    SUCC_ACTION INT,
    FAIL_ACTION INT,
    RETRY_ATTEMPTS INT,
    RETRY_INTERVAL INT,
    OUTPUT_FILE_PATH VARCHAR(256),
    APPEND_FLAG INT
    )

    2.配置作业的参数含义

    我们了解下其中的参数含义:

    3.2.1 JOB_NAME 作 业 的 名 称 。
    表 示 正 在 给 哪 一 个 作 业 增 加 步 骤 , 这 个 参 数 必 须 为 上 面 调 用
    3.2.2 SP_JOB_CONFIG_START 函数时指定的作业名,否则系统会报错,同时系统会检测这个作
    业是否存在,不存在也会报错。
    3.2.3 STEP_NAME 表示增加的步骤名。
    必须是有效的标识符,同时不能是 DM 关键字。同一个作业不能有两个同名的步骤,创建时会检测这个步骤是否已经存在,如果存在则报错。
    3.2.4 TYPE 步骤的类型。
    取值 0、1、2、3、4、5 和 6。说明如下:
    0 表示执行一段 SQL 语句或者是语句块。
    1 表示执行基于 V1.0 版本的备份还原(没有 WITHOUT LOG 和 PARALLEL 选项)。
    2 表示重组数据库。
    3 表示更新数据库的统计信息。
    4 表示执行 DTS(数据迁移)。
    5 表示执行基于 V1.0 版本的备份还原(有 WITHOUT LOG 和 PARALLEL 选项)。
    6 表示执行基于 V2.0 版本的备份还原。
    3.2.5 COMMAND 指定不同步骤类型(TYPE)下,步骤在运行时所执行的语句。
    它不能为空。
    当 TYPE=0 时,指定要执行的 SQL 语句或者语句块。如果要指定多条语句,在语句之间
    必须用分号隔开。不支持多条 DDL 语句一起执行,否则在执行时可能会报出不可预知的错误信息。
    当 TYPE=1 时,指定的是一个字符串。
    该字符串由三个部分组成:备份模式 、备份压缩类型、base_dir,…,base_dir|bakfile_path。
    三部分详细介绍如下:
    第一部分是一个字符,表示备份模式。
    0 完全备份;1 增量备份。如果第一个字符不是这二个值中的一个,系统会报错。
    第二部分是一个字符,表示备份时是否进行压缩。
    0 不压缩;1 压缩。
    第三部分是一个文件路径,表示备份文件的路径。路径命令有具体的格式,分以下两种
    对于增量备份,因为它必须要指定一个或者多个基备份路径,每个路径之间需要用逗号隔开,之后接着是备份路径,基备份路径与备份路径需要用“|”隔开,如果不指定备份路径,则不需要指定“|”,同时系统会自动生成一个备份路径。例如,01E:\base_bakdir1, base_bakdir2|bakdir。对于完全备份,因为不需要指定基备份所以就不需要“|”符号了,可以直接在第三个字节开始指定备份路径即可。例如,01E:\bakdir。如果不指定备份路径,则系统会自动生成一个备份路径。
    当 TYPE 是 2、3 或 4 时,要执行的语句就是由系统内部根据不同类型生成的不同语句 或者过程。
    当 TYPE=5 时,指定的是一个字符串。该字符串由六个部分组成:备份模式、备份压缩类 型 、 备 份 日 志 类 型 、 备 份 并 行 类 型 、预 留 、base_dir,…,base_dir | bakfile_path | parallel_file。六部分详细介绍如下:
    第一部分是一个字符,表示备份模式。0 完全备份;1 增量备份。如果第一个字符不是这二个值中的一个,系统会报错。
    第二部分是一个字符,表示备份时是否进行压缩。0 不压缩;1 压缩。
    第三部分是一个字符,表示是否备份日志。0 备份;1 不备份。
    第四部分是一个字符,表示是否并行备份。0 普通备份;1 并行备份,并行备份映射放到最后,以“|”分割。
    第五部分是一个保留字符,用 0 填充。
    第六部分是一个文件路径,表示备份文件的路径。路径命令有具体的格式,分以下两种对于增量备份,因为它必须要指定一个或者多个基础备份路径,每个路径之间需要用逗号隔开,之后接着是备份路径,最后并行备份映射文件;并行映射文件,基础备份路径与备份路径需要用“|”隔开,如果不指定备份路径与并行映射文件,则不需要 指 定 “|” ,
    例如01000E:\base_bakdir1,base_bakdir2|bakdir|parallel_file_path 就是一个合法的增量备份命令。 对于完全备份,因为不需要指定基备份所以就不需要“|”符号了,可以直接在 第三个字节开始指定备份路径即可;例如01000E:\bakdir。如果不指定备份路径, 系统会自动生成备份路径。
    当 TYPE=6 时,指定的是一个字符串。该字符串由九个部分组成:备份模式、备份压缩类型、备份日志类型、备份并数、USEPWR、MAXPIECESIZE、RESV1、RESV2、base_dir,…,base_dir | bakfile_dir。
    TYPE=6的详细介绍如下
    备份模式:是一个字符,表示备份模式。0 完全备份;1 增量备份;3 归档备份。如 果第一个字符不是这三个值中的一个,系统会报错。
    备份压缩类型:是一个字符,表示备份时是否进行压缩。0 不压缩;1 压缩。
    备份日志类型:是一个字符,表示是否备份日志。0 备份;1 不备份。
    备份并数:是一个字符,表示并行备份并行数。取值 0 到 9。其中,0 表示不进行并 行备份;1 表示使用并行数默认值 4;2~9 表示并行数。
    USEPWR:为一个字符,表示并行备份时,是否使用 USE PWR 优化增量备份。0 不 使用;1 使用。(只是语法支持,没有实际作用)
    MAXPIECESIZE:为一个字符,表示备份片大小的上限(MAXPIECESIZE)。0 表示默认值, 1~9 表示依次表示备份片的大小,1 则为 128M 备份片大小,9 表示 32G 的备份片大小。
    RESV1:为一个字符,表示是否在备份完归档后,删除备份的归档文件。0 不删除; 1 删除。
    RESV2:是一个保留字符,用 0 填充。
    base_dir,…,base_dir | bakfile_dir:是一个文件路径,表示备份文件的路径。路径命令有具体的格式,分以下两种对于增量备份,因为它必须要指定一个或者多个基础备份路径,每个路径之间 需要用逗号隔开,之后接着是备份路径。基础备份路径与备份路径需要用“|”隔开,
    例 如,01000000E:\base_bakdir1, base_bakdir2|bakdir 就是一个合法的增量 备份命令
    对于完全备份,就不需要“|”符号了,可以直接在第八个字节开始指定备份路 径即可。
    例如,01000000E:\bakdir。如果不指定备份路径,系统会自动生成一个备 份路径。
    SUCC_ACTION指定步骤执行成功后,下一步该做什么事。
    取值 0 或 1。说明如下:0 表示执行下一步。 1 表示报告执行成功,并执行下一步。
    FAIL_ACTION 指定步骤执行失败后,下一步该做什么事。
    取值 0 或 2。说明如下: 0 表示执行下一步。 2 表示报告执行失败,并结束作业。
    RETRY_ATTEMPTS 表示当步骤执行失败后,需要重试的次数。
    取值范围 0~100 次。
    RETRY_INTERVAL 表示在每两次步骤执行重试之间的间隔时间。不能大于 10 秒钟。
    OUTPUT_FILE_PATH 表示步骤执行时输出文件的路径。
    该参数已废弃,没有实际意义。
    APPEND_FLAG 输出文件的追写方式。
    如果指定输出文件,那么这个参数表示在写入文件时是否从文件末尾开始追写。
    1 是;0 否。如果是 0,那么从文件指针当前指向的位置开始追写。


    ## 3.操作示例 例题,为作业test增加步骤名为bf_sql,步骤类型为一段sql语句类型(0),紧接是sql备份语句以及备份路径,步骤成功后执行下一步(1),步骤失败后报告失败并结束作业(2),步骤失败后不需要重试(0),每两次步骤重试执行的间隔时间(0),该参数已废弃(null),如果指定了输出文件,写入的时候从末尾开始写(0)
    call SP_ADD_JOB_STEP('test', 'bf_sql', 0, 'Backup  tablespace tbs2 backupset ' '/dm7/bacp/tbs3ku_bak'';', 1, 2, 0, 0, NULL, 0);
    

    如果需要修改步骤内容执行,例如我想修改下路径

    SP_ALTER_JOB_STEP('test', 'bf_sql', 0, 'Backup  tablespace tbs2 backupset ' '/dm7/bacp/tbs3new_bak'';', 1, 2, 0, 0, NULL, 0);
    

    作业属性修改后需要重新配置作业,使其生效

    SP_JOB_CONFIG_START('test'); 
    SP_JOB_CONFIG_COMMIT('test');
    

    删除作业为:

    SP_DROP_JOB_STEP('test', 'bf_sql');
    

    四、配置调度

    1.配置调度语句

    作业的内容布置完后就是作业调度时间上的设置,是每天,每周还是其他的时间段执行:
    增加调度通过调度系统过程 SP_ADD_JOB_SCHEDULE 实现。 语法如下:
    SP_ADD_JOB_SCHEDULE (
    JOB_NAME VARCHAR(128),
    SCHEDULE_NAME VARCHAR(128),
    ENABLE INT,
    TYPE INT,
    FREQ_INTERVAL INT,
    FREQ_SUB_INTERVAL INT,
    FREQ_MINUTE_INTERVAL INT,
    STARTTIME VARCHAR(128),
    ENDTIME VARCHAR(128),
    DURING_START_DATE VARCHAR(128),
    DURING_END_DATE VARCHAR(128),
    DESCRIBE VARCHAR(500)
    )

    2.创建调度的参数含义

    我们了解下其中的参数含义:

    4.2.1 JOB_NAME作业名称。
    指定要给该作业增加调度,这个参数必须是配置作业开始时指定的作业名,否则报错,同时系统还会检测这个作业是否存在,如果不存在也会报错。
    4.2.2 SCHEDULE_NAME 待创建的调度名称。
    必须是有效的标识符,同时不能是 DM 关键字。指定的作业不能创建两个同名的调度,创建时会检测这个调度是否已经存在,如果存在则报错。
    4.2.3 ENABLE 表示调度是否启用,布尔类型。1 启用;0 不启用。
    4.2.4 TYPE 指定调度类型。取值 0、1、2、3、4、5、6、7、8。分别介绍如下:
    0 表示指定作业只执行一次。
    1 按天的频率来执行。
    2 按周的频率来执行。
    3 在一个月的某一天执行。
    4 在一个月的第一周第几天执行。
    5 在一个月的第二周的第几天执行。
    6 在一个月的第三周的第几天执行。
    7 在一个月的第四周的第几天执行。
    8 在一个月的最后一周的第几天执行。
    当 TYPE=0 时,其执行时间由下面的参数 DURING_START_DATE 指定。
    4.2.5 FREQ_INTERVAL 与 TYPE 有关。
    表示不同调度类型下的发生频率。说明如下:
    当 TYPE=0 时,这个值无效,系统不做检查。
    当 TYPE=1 时,表示每几天执行,取值范围为 1~100。
    当 TYPE=2 时,表示的是每几个星期执行,取值范围没有限制。
    当 TYPE=3 时,表示每几个月中的某一天执行,取值范围没有限制。
    当 TYPE=4 时,表示每几个月的第一周执行,取值范围没有限制。
    当 TYPE=5 时,表示每几个月的第二周执行,取值范围没有限制。
    当 TYPE=6 时,表示每几个月的第三周执行,取值范围没有限制。
    当 TYPE=7 时,表示每几个月的第四周执行,取值范围没有限制。
    当 TYPE=8 时,表示每几个月的最后一周执行,取值范围没有限制。
    4.2.6 FREQ_SUB_INTERVAL 与 TYPE 和 FREQ_INTERVAL 有关。
    表示不同 TYPE 的执行频率,在 FREQ_INTERVAL 基础上,继续指定更为精准的频率。说明如下:
    当 TYPE=0 或 1 时,这个值无效,系统不做检查。
    当 TYPE=2 时,表示的是某一个星期的星期几执行,可以同时选中七天中的任意几天。取值范围 1~127。具体如何取值,请用户参考如下规则。因为每周有七天,所以 DM 数据库系统内部用七位二进制来表示选中的日子。从最低位开始算起,依次表示周日、周一…周五、周六。选中周几,就将该位置 1,否则 0。例如,选中周二和周六,7 位二进制就是 1000100,转化成十进制就是 68,所以 FREQ_SUB_INTERVAL 就取值 68。
    当 TYPE=3 时,表示将在一个月的第几天执行。取值范围 1~31。
    当 TYPE 为 4、5、6、7 或 8 时,都表示将在某一周内第几天执行。
    取值范围 1~7,分别表示从周一到周日。
    4.2.7 FREQ_MINUTE_INTERVAL 表示一天内每隔多少分钟执行一次。
    有效值范围 1~1440,单位分钟。
    4.2.8 STARTTIME 定义作业被调度的起始时间。
    必须是有效的时间字符串,不可以为空。
    4.2.9 ENDTIME 定义作业被调度的结束时间。
    可以为空。但如果不为空,指定的必须是有效的时间字符串,同时必须要在 STARTTIME 时间之后。
    4.2.10 DURING_START_DATE 指定作业被调度的起始日期。
    必须是有效的日期字符串,不可以为空。
    4.2.11 DURING_END_DATE 指定作业被调度的结束日期。
    可以为空,DURING_END_DATE 和 ENDTIME 都为空,调度活动会一直持续下去。但如果不为空,必须是有效的日期字符串,同时必须是在DURING_START_DATE 日期之后。
    4.2.12 DESCRIBE 表示调度的注释信息,最大长度为 500 个字节。


    ## 3.操作示例 例如我们调度的作业为test,调度名称为bf_sql,状态为启用(1),调度类型按天的频率来执行(1),每周多少天执行一次(1),更为精准的时间指定频率(0-无效不检查),多少分钟执行一次(0),定义作业被调度的起始时间(16:35:40),定义作业被调度结束时间(null),指定作业被调度的起始时间(2020-08-29 16:51:40),指定作业被调度结束日期(null),备注说明(一个测试调度)
    SP_ADD_JOB_SCHEDULE('test', 'bf_sql',  1, 1, 1, 0, 0, '16:35:40', NULL, '2020-08-29 16:51:40', NULL, '一个测试调度');
    

    修改调度,通过系统过程 SP_ALTER_JOB_SCHEDULE 实现。
    例如我们修改下备注

    SP_ALTER_JOB_SCHEDULE('test', 'bf_sql',  1, 1, 1, 0, 0, '16:35:40', NULL, '2020-08-29 16:51:40', NULL, '新的备注');
    

    而如果管理员要删除调度则是

    SP_DROP_JOB_SCHEDULE(‘test’,’bf_sql’)
    

    五、其他

    提交作业配置

    call SP_JOB_CONFIG_COMMIT('test');
    

    select * from sysjob.sysjobs;

    call SP_JOB_CONFIG_COMMIT('test');
    

    查看作业历史记录

    select * from sysjob.sysjobhistories;
    

    作业执行情况

    select * from sysjob.sysjobschedules
    

    作业的存放路径

    select * from sysjob.sysjobsteps;
    
    展开全文
  • crontab命令定时备份执行脚本

    千次阅读 2019-05-14 14:39:32
    一、tar 命令备份 参数:-c: 建立压缩档案、-z:有gzip属性的、-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名 有三个文件 我们将当前目录下的文件全部打包 利用date生成特定文件名称 ...

    一、tar 命令备份

    参数:-c: 建立压缩档案、-z:有gzip属性的、-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名

    有三个文件

    我们将当前目录下的文件全部打包

    利用date生成特定文件名称

    tar -czf log-`date +%Y%m%d`.tar.gz ./

    二、crontab

    我们先查看下命令

    crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行。

    minute: 表示分钟,可以是从0到59之间的任何整数。

    hour:表示小时,可以是从0到23之间的任何整数。

    day:表示日期,可以是从1到31之间的任何整数。

    month:表示月份,可以是从1到12之间的任何整数。

    week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

    command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

    或者这个表好理解一点

    在时间表示中,还有一些特殊符号需要学习

    一些帮助理解的例子

    做一个简单的练习,在当前目录下,创建一个文件

    让系统每隔 2 分钟就向 test1 文件中写入一行"xlglvc",验证一下系统定时任务是否会执行

    首先进入编辑模式

    编辑命令

    */2 * * * * /bin/echo "xlglvc" >> />

    我们查看这个文件信息

    我们可以使用下面的命令查询当前用户定时任务或删除当前用户定时任务

    查询当前用户定时任务

    删除当前用户定时任务

    我们把上面的打包压缩命令做一下更改,将打包压缩命令放到脚本中

    我们将时间范围缩小到秒

    tar -czf log-`date +%Y%m%d_%H%M%S`.tar.gz ./

    执行脚本

    系统每分钟执行一次这个脚本

    我们查看下任务

    我们查看这个内容

    更改下文件权限,我们再查看任务

    可以考虑下面三个练习

    1、让系统在每周一的凌晨3点01分重启一次

    2、在每月1日、10日、15 日的凌晨 00 点 30 分都定时执行日志备份脚本

    3、结合前面邮件的发送命令,定时发送打包的压缩文件

    网上练习参考

    ##每月每天凌晨3点30分和中午12点20分执行test.sh脚本

    30 3,12 * * *  /home/test.sh

    ##每月每天每隔6小时的每30分钟执行test.sh脚本

    30 */6 * * *  /home/test.sh

    ##每月每天早上8点到下午18点每隔2小时的每30分钟执行test.sh脚本

    30 8-18/2 * * * /etc/init.d/network restart

    ##每月每天晚上21点30分执行test.sh脚本

    30 21 * * *  /etc/init.d/network restart

    ##每月1号、10号、22号凌晨4点45分执行test.sh脚本

    45 4 1,10,22 * * /etc/init.d/network restart

    ##8月份周一、周日凌晨1点10分执行test.sh脚本

    10 1 * 8 6,0 /etc/init.d/network restart

    ##每月每天每小时整点执行test.sh脚本

    00 */1 * * *  /etc/init.d/network restart

    在书写 crontab 定时任务时,需要注意以下几个事项:

    1、6 个选项都不能为空,必须填写。如果不确定,则使用“*”代表任意时间。

    2、crontab 定时任务的最小有效时间是分钟,最大有效时间是月。像 2018 年某时执行、3 点 30 分 30 秒这样的时间都不能被识别。

    3、在定义时间时,日期和星期最好不要在一条定时任务中出现,因为它们都以天为单位,非常容易让管理员混淆。

    4、在定时任务中,不管是直接写命令,还是在脚本中写命令,最好都使用绝对路径。有时使用相对路径的命令会报错。

    品略图书馆 http://www.pinlue.com/ http://m.pinlue.com/

     

    展开全文
  • 使用可自定义的定期计划自动执行数据库备份。 特征 备份方案-Synchly使用完全可自定义的祖父-父亲-儿子备份轮换方案(每天,每周,每月)。 默认计划:7天+ 8周+ 6月(在给定的瞬间,最多可以有21个备份)。 灵活...
  • Navicat自动备份数据库 1.自动以备份路径 通过修改备份路径,可以将数据备份到我们指定的目录中。 选择需要备份的数据库,右键选择连接属性 关闭正在连接的数据库 高级-设置备份路径 2.设置备份计划 点击...

    MeterSphere使用Navicat自动备份数据库

    1.自动以备份路径

    通过修改备份路径,可以将数据备份到我们指定的目录中。

    • 选择需要备份的数据库,右键选择连接属性

    在这里插入图片描述

    • 关闭正在连接的数据库
      在这里插入图片描述
    • 高级-设置备份路径
      在这里插入图片描述

    2.设置备份计划

    • 点击计划-- 新建批处理作业
      在这里插入图片描述
    • 创建备份计划
      选择待备份的数据库,点击右侧的可用任务,在下面出现新建的备份任务列表。
      在这里插入图片描述
    • 保存备份计划任务
      点击保存,为计划定义一个名称。
      在这里插入图片描述
    • 设置计划任务
      选择下面待备份的任务,然后点击设置计划任务,新建–根据自己的需求设置备份时间。
      在这里插入图片描述
    • 输入本地电脑登录密码,创建备份计划任务成功。
      在这里插入图片描述

    3.解决定时备份任务没有执行问题

    上面的自动备份任务创建完成后,设置一个与现在时间相近的时间测试下是否能够自动执行定时任务。如果可以自动备份那就不用做下面的操作。
    但是没有执行定时任务,参照下面方式解决这个问题。

    3.1.开启mysql事件

    在待备份的数据库中打开SQL查询窗口,执行下面的sql。

    #查看事件是否开启
    SHOW VARIABLES LIKE 'event_scheduler';
    # 如果上面查询结果为off或者0,表示没有开启事件。执行下面的命令开启事件
    SET GLOBAL event_scheduler = 1; 
    

    3.2.设置最高权限运行计划

    • 打开控制面板–管理工具–任务计划程序
      在这里插入图片描述
    • 找到Navicat创建的备份计划名称,右键打开属性
      在这里插入图片描述
    • 设置使用最高权限运行
      勾选最高权限运行,输入自己电脑登录密码。确定即可
      在这里插入图片描述
    • 注意事项

    每次在Navicat上修改了备份计划的内容包括计划时间,任务计划程序都会自动回复为非使用最高权限运行。所以只要修改了备份计划内容和计划时间都需要在设置下计划为最高权限运行。

    展开全文
  • 1,首先在执行定时任务的linux环境安装数据库,操作步骤如下:  ubuntu系统上安装MySQL非常简单只需要几条命令就可以完成。  a. apt-get install mysql-server  b. apt-get isntall mysql-client
  • 备份思想:每天凌晨进行全备份, 保留最近一周的, 之前保留间隔10天的, 保留3个月以内的 创建 backup_mysql.sh 文件 mysqldump -h localhost -u root -p123 test > /opt/data/mysqlbak/test_`date +%Y%m%d...
  • 执行定时任务对oracle表数据备份: 1、创建sh脚本 [oracle@localhost ~]$ vi bak.sh 2、添加脚本内容 #!/bin/bash #:本脚本自动备份7天的数据库,每次备份完成后,删除7天之前的数据。 #加载oracle的...
  • 备份概述数据备份分类完整数据库备份文件备份部分备份差异备份日志备份事务日志备份最常用的备份方法选择备份策略和恢复模式备份策略简单恢复模式下的备份简单恢复模式下的完整数据库备份+差异数据库备份完整恢复...
  • 偶尔的快照 当连接外部备份驱动器或远程备份媒体时,此工具允许使用rsnapshot自动... 系统在并不总是连接到系统的外部驱动器上执行备份 唯一需要注意的是,所有这些必须由任意工具,以某种方式安装在本地文件系统树occ
  • PostgreSQL备份和恢复

    千次阅读 2019-07-18 14:05:10
    按照备份后的文件类型,可以分为物理备份(文件系统级别的备份)和逻辑备份备份后的文件是sql文件或特定格式的导出文件);按照备份过程中是否停止数据库服务,可分为冷备份备份过程中停止数据...
  • 1、存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 语法: CREATE PROCEDURE 过程名([...
  • 执行数据库备份

    2012-09-04 11:02:31
    手工备份的缺点 1、产生大量的重做日志 2、需要手工记录大量的信息 每个备份文件的位置、备份时间 每个数据文件的位置 Oracle提供了recovery manager工具,简称RMAN。使得我们的备份工作极大的简化 RMAN备份...
  • 将要备份的目录列为一个列表,通过执行系统命令,进行压缩、备份。 这样关键在于构造命令并使用 os.system( )来执行,一开始使用zip 命令始终没有成功,后来发现Windows下并没有这个命令,还要安装GnuWin32...
  • 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart上面的例子表示每月1、10、22日的4 : 45重启apache。 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每周六、周日的1 : 10重启apache...
  • 对tomcat目录,每隔4个小时进行一次备份,以当前时间进行命名 1.创建备份目录: mkdir:创建目录 rmdir:删除目录 2.编写运行脚本: vi/touch:创建文件 vi/vim:编辑文件 打成zip包: zip -r ...
  • linux定时备份mysql数据库
  • 首先在指定的目录里新建sh脚本,并在脚本里面编写mysql数据库备份语句,然后使用crontab定时执行,话不多说,直接开始命令 一、编写sh脚本  # cd /usr/local # mkdir scripts # cd ./scripts # vi mysql_...
  • mysql数据库备份与表备份

    千次阅读 2019-02-21 10:18:12
    一、Mysql中的数据备份: Mysql中数据备份使用的命令是:mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的 工作原理很简单。它先查出需要备份的表...
  • Oracle10g备份与恢复之物理备份--Rman备份 Recovery Manager(RMAN)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的 Oracle 工具。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或...
  • mysql物理备份与逻辑备份详解

    千次阅读 2020-01-13 15:11:33
    mysql的物理备份与逻辑备份详解 条件: 本文针对mysql版本为5.7,存储引擎为InnoDB,其他版本未做实验 一、逻辑备份恢复 备份: $ mysqldump -h127.0.0.1 --add-drop-table --force -u$DB_USER -p$DB_PASS $DB_NAME ...
  • mysql备份策略(全量备份+增量备份

    万次阅读 多人点赞 2018-07-25 18:46:20
    最近项目需要对数据库数据进行备份,通过查阅各种资料,设计了一套数据库备份策略,通过调试运行一周后...2)全量备份则使用mysqldump将整个数据库导出,每周日凌晨3点执行,并会删除上周留下的mysq-bin.00000*,然...
  • Oracle RMAN 备份与恢复

    千次阅读 2021-01-07 11:44:08
    这里写目录标题一、RMAN 备份与恢复1.RMAN备份(1)连接数据库(2)通道分配(3)RMAN 备份类型(4)BACKUP 命令(5)FORMAT 参数替换变量2.RMAN 恢复(1)数据库进行完全介质恢复(2)表空间的恢复(3)恢复数据文件...
  • 一、tar 命令备份参数:-c: 建立压缩档案、-z:有gzip属性的、-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名有三个文件我们将当前目录下的文件全部打包利用date生成特定文件名称tar -czf log-`...
  • 备份VMWare ESXi虚拟机

    万次阅读 2016-08-23 15:27:19
    vmware 备份
  • 一、背景在我之前的博客 git学习——> Gitlab如何进行备份恢复与迁移? (地址:http://blog.csdn.net/ouyang_peng/article/details/77070977) 里面已经写清楚了如何使用Gitlab自动备份功能。 但是之前的备份功能...
  • Redis数据库的dump备份与aof备份

    千次阅读 2017-01-13 17:03:46
    Redis自动备份有两种方式,第一种是通过dump.rdb文件实现备份,另外一种使用aof文件实现自动备份。Dump.rdb备份Redis中默认使用dump.rdb文件实现备份,如果aof备份没有打开,那么启动redis时,会默认从dump.rbd文件...
  • Odoo 10 数据库备份及恢复总结

    千次阅读 2018-11-15 19:34:06
    数据库备份的时候难免会出现一些小问题,本篇文章主要讲解一下odoo的PostgreSQL数据库的备份恢复以及操作: 备份策略:阶段性备份+特定事件备份。周期性自动备份+手动检查+自动通知。官方参考:...
  • 在linux下备份文件,linux备份文件命令

    千次阅读 2021-05-16 02:15:55
    随时备份重要文件是我们应该养成的一个好习惯,那么linux下使用什么命令来实现文件的备份呢?下面由学习啦小编为大家整理了linux下备份文件命令的相关知识,希望大家喜欢!linux备份文件命令1.cp命令cp[功能说明]文件...
  • MYSQL 5.7 数据库备份与恢复

    千次阅读 2020-08-31 17:33:26
    数据库备份与恢复MySQL 数据库备份概述备份的重要性备份类型 MySQL 数据库备份 概述 备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审 计等。 备份的重要性 在企业中数据的价值至关...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 229,187
精华内容 91,674
关键字:

表示10分执行备份