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 的文件错误记录
shell编程-定时任务(备份数据库)的更多相关文章
- 利用shell脚本自动化备份数据库与手动备份还原数据库操作
1.在linux操作系统上手动备份数据库 mysqldump -h 服务器IP地址 -u root -p数据库密码 --databases 所要备份的数据库名称 > /路径/数据库.sql(自定 ...
- shell编程连接postgres数据库(数据备份)
第一步:通过xshell或者其他工具连接到linux服务, 第二步:创建一个脚本:touch se.sh 第三步:输入i,代表开始输入内容 输入以下命令: 脚本如下:(sql语句可以是任何复杂的sql ...
- 定时任务备份数据库与windows批处理
前言: 关于数据库备份的方法有很多,你可以在命令行执行mysqldump命令进行备份,也可以使用数据库管理工具,比如navicat进行数据库的备份. 但是以上数据库的备份都是可以单次备份,总不能要一个 ...
- shell脚本:备份数据库、代码上线
备份MySQL数据库场景:一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求:1)每天备份一次,需要备份所有的库2)把备份数据存放到/data/backup/下3 ...
- 记录一下~~~Linux配置定时任务备份数据库dmp文件
1.创建备份目录: mkdir -p /dcits/sx_xmz/sx_data_bak chown -R oracle18c:oinstall /dcits/sx_xmz/sx_data_bak 2 ...
- shell脚本定时备份数据库
脚本代码: 新建文件back_db.sh #!/bin/bash TODAYTIME="`date +%Y%m%d`" DBNAME="test mysql" ...
- SHELL脚本自动备份数据库
#!/bin/bash db_user="root" db_passwd="dddddd " db_name="mmmmmm" cd /db ...
- Shell编程—定时任务
应用:定时催收,定时下发,对新增内容入库同步, 时间:凌晨 服务器Reahat Linux: Bash HPUX:kbash? #!/bin/sh #!/bin/bash echo awk #输入重定 ...
- Centos下_MysqL5.7在使用mysqldump命令备份数据库报错:mysqldump: Got error: 1449: The user specified as a definer ('fk_system'@'localhost') does not exist when using LOCK TABLES
在阿里云服务器增加一个shell脚本定时备份数据库脚本执行任务时,测试性的执行了备份命令,如下 [root@iZ2ze503xw2q1fftv5rhboZ mysql_bak]# /usr/local ...
随机推荐
- js之运算符(关系运算符)
关系运算符用于测试两个值之间的关系,根据关系是否存在而返回true或者是false.关系表达式总是返回一个布尔值. 具有如下8个关系运算符:大于(>),小于(<),小于等于(<=), ...
- Flink接收RabbitMQ数据写入到Oracle
文件内容 项目案例: https://github.com/TaoPanfeng/case/tree/master/03-flink/flink-rabbitmq-oracle FlinkMain.j ...
- QQ大盗 - 巧用clientkey
场景: 1.将程序发给好友,好友打开 qq昵称就会被秒改为”账号已被盗“. 2.将程序运行在自己的电脑,让那些随意借用电脑看片聊天的室友产生一个觉悟:乱使用别人电脑很可能会泄露隐私. 思路: 通过数据 ...
- go语言时间函数
以YY-mm-dd HH:MM:SS.9位 输出当前时间: func main() { fmt.Println(time.Now()) // 2019-11-15 16:26:12.4807588 + ...
- Win10 OpenCV3.3.0+VS2013配置大坑,OpenCV解决方案编译报错“找不到python36_d.lib”错误
今天因为想要用OpenCV做图像识别,小白一个,在网上找到一个教程,但是需要配置OpenCV3.3.0的环境,于是又在网上找OpenCV3.3.0+VS2013(因为我之前已经安过了VS2013),前 ...
- yocto project user’s guide
http://www.yoctoproject.org/docs/2.1/ref-manual/ref-manual.html 参考手册 http://www.yoctoproject.org/doc ...
- Atmel芯片使用
ATMEL系列芯片 9X35 9G35可pin-to-pin替代9G10,具体需核对.此外即使pin-to-pin替代,外部应用也不一样. A5D2处理器,可支持linux/andriod. M7(M ...
- python 时间对应计算
import re import time def parse_time(date): if re.match('刚刚', date): date = time.strftime('%Y-%m-%d ...
- 从零开始学会GAN 0:第一部分 介绍生成式深度学习(连载中)
本书的前四章旨在介绍开始构建生成式深度学习模型所需的核心技术.在第1章中,我们将首先对生成式建模领域进行广泛的研究,并从概率的角度考虑我们试图解决的问题类型.然后,我们将探讨我们的基本概率生成模型的第 ...
- 不能使用 float 和 double 来表示金额等精确的值
不能使用 float 和 double 来表示金额等精确的值 关于面试,金额用什么数据类型? 不是 doube,更不是 float ,而是用 BigDecimal.对于金融项目,对于金额,误差是不能容 ...