zoukankan      html  css  js  c++  java
  • shell编程-定时任务(备份数据库)

    计划任务定时备份,删除等操作:

    #crontab -e

    #注意 会区分用户 默认在root用户登录用的是root权限用户的计划任务,

    如果想在postgres备份 应使用postgres用户权限

    设置定时任务 su postgres

    • 第一步:首先用什么权限定时任务需要切换到具体如:数据库备份:postgres用户权限或者其他数据库用户权限
    • 第二步:然后再 crontab -e 下就是设置的postgres用户的定时任务

    date %F 完整日期格式,等价于 %Y-%m-%d # date +%F

    0 0 * * 0 /usr/bin/pg_dump -U postgres simo_dev > /opt/s_bak/simo$(date +"\%F").sql

    上面的命令即是在每周日晚上 0:0点 备份数据库的定时任务:

    • 第三步:返回到root用户,su

    crontab -e 输入以下定时任务

    即: 1)在每周日凌晨 :30分 将sql备份的数据库转化为.zip 打包文件

    2)在每周日1:00,将.sql文件删除

    3)在每周日1:30,将30天之前的文件删除掉,防止文件占用太多内存

    30 0 * * 0 /usr/bin/zip /opt/simo_bak/simo`date +"\%F"`.zip /opt/simo_bak/simo`date +"\%F"`.sql

    00 1 * * 0 /usr/bin/rm -rf /opt/simo_bak/simo`date +"\%F"`.sql

    30 1 * * 0 /usr/bin/find /opt/simo_bak -maxdepth 1 -type f -mtime +30 -exec rm -rf {} ;

    也可以写成sh脚本文件方便维护~

    系统计划任务

    如将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务

    到点自动执行 输入:

    10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1

    解释:设置是每天凌晨0点10分执行auto-del-7-days-ago-log.sh文件进行数据清理任务

    10 0 * * * 分别对应是“分 时 日 月 周 命令”。

    当分为*时,表示每分钟执行一次,

    时为*时,表示每小时执行一次。

    注:如果没有实时备份原因定位:cd /var/log 查看cron 的文件错误记录

  • 相关阅读:
    Java——多线程之方法详解
    Java——深入理解Java异常体系
    Java——Java代码的执行顺序
    Java——抽象类与接口的前世今生
    存储系列之 LUN 和 LVM
    存储系列之 RAID技术原理简介
    存储系列之 硬盘接口与SCSI总线协议
    存储系列之 介质(软盘、硬盘、固态)和磁盘寻址
    Redis设计原理简介
    MySQL InnoDB索引介绍以及在线添加索引实例分析
  • 原文地址:https://www.cnblogs.com/zyy98877/p/10120826.html
Copyright © 2011-2022 走看看