ubuntu 创建定时备份pg数据库定时任务

只愿长相守 提交于 2019-12-21 20:08:28

ubuntu创建定时备份数据库定时任务

一、命令文件

创建db_back.sh

#!/bin/bash

echo "start backup"

/usr/lib/postgresql/10/bin/pg_dump -h 127.0.0.1 -p 5432 -U username -c -f /data/db_backup/demo_$(date "+%Y%m%d_%H_%M_%S").sql dbname

echo "backup finished"  

二、创建定时任务

  通过crontab命令进行添加定时任务。

输入命令: crontab -e

然后在文件最下面添加:

00 2 1 * * dp_user /home/dp_user/db_backup.sh

 

三、相关命令

cron是一个Linux定时执行工具,可以在无需人工干预的情况下运行作业。在Ubuntu server 下,cron是被默认安装并启动的。通过/etc/crontab文件进行查看。

ununtu 通过调用 run-parts 命令,定时运行四个目录下的所有脚本。

  1. /etc/cron.hourly,目录下的脚本会每个小时让执行一次,在每小时的2分钟时运行;
  2. /etc/cron.daily,目录下的脚本会每天让执行一次,在每天0点17分时运行;
  3. /etc/cron.weekly,目录下的脚本会每周让执行一次,在每周第七天的3点56分时运行;
  4. /etc/cron.mouthly,目录下的脚本会每月让执行一次,在每月19号的5点32分时运行;

当然,以上的时间均是系统默认时间,可以根据自己的需求进行修改。  

1、cron 服务的启动与停止

  • 启动服务
service cron start
  • 关闭服务
service cron stop
  • 重启服务
service cron restart
  • 重新载入配置
service cron reload
  • 查看服务是否运行(如果运行,会返回进程id)
pgrep cron

2、crontab命令

  crontab 命令用于安装、删除或者列出用于驱动cron后台进程的表格。也就是说,用户把需要执行的命令序列放到crontab文件中以获得执行,每个用户都可以有自己的crontab文件。

  • 设定某个用户的cron服务
crontab -u
  • 列出某个用户cron服务的详细内容
crontab -l 
  • 删除某个用户的cron服务
crontab -r
  • 编辑某个用户的cron服务
crontab -e

参数名称含义:

  • -l  显示用户的Crontab文件的内容 crontabl –l
  • -i  删除用户的Crontab文件前给提示 crontabl -ri
  • -r 从Crontab目录中删除用户的Crontab文件 crontabl -r
  • -e 编辑用户的Crontab文件 crontabl -e

3、定时任务语法

  通过编辑 /etc/crontab 文件或着通过命令 crontab -e 编辑定时任务。

定时任务语法如下
  

*  *  *  *  *  command

分 时 日 月 周 命令

例如:

00 2 1 * * dp_user /home/dp_user/db_backup.sh

举例如下:

5 * * * * ls /*指定每小时的第5分钟执行一次ls命令*/ 
30 5 * * * ls /*指定每天的 5:30 执行ls命令*/ 
30 7 8 * * ls /*指定每月8号的7:30分执行ls命令*/ 
50 7 * * * root run-parts /etc/cron.daily /*每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件*/



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!