pg 导入导出sql
默认存放地址:/usr/pgsql-11/bin/pg_dump
导出
# postgres 用户导出
pg_dump -h 168.168.169.250 -U postgres dtx>/home/zy/postgreSqlDB/dtx1012.sql
# 其他用户指定密码导出
pg_dump "host=168.168.169.250 port=5432 user=postgres password=123 dbname=dtx" > ./table.sql
导入
#
psql -U postgres dtx<./dtx1012.sql
数据库备份脚本sh
创建脚本
vi backups_pg.sh
#!/bin/bash
#完成数据库的定时备份。
#备份的路径
BACKUP=/home/zy/postgreSqlDB
#当前的时间作为文件名
DATETIME=$(date +%Y_%m_%d_%H%M%S)
#可以输出变量调试
echo ${DATETIME}
echo "=======开始备份========"
#主机
HOST=168.168.169.250
#用户名
DB_USER=postgres
#密码
DB_PWD=123
#备份数据库名
DATABASE=dtx
#执行postgresql的备份数据库的指令
#echo "host=$HOST port=5432 user=$DB_USER password=$DB_PWD dbname=$DATABASE"
echo $BACKUP/$DATETIME-$DATABASE.sql
pg_dump "host=$HOST port=5432 user=$DB_USER password=$DB_PWD dbname=$DATABASE" > $BACKUP/$DATETIME-$DATABASE.sql
#删除10天前的备份文件
find $BACKUP -mtime +20 -name "*.sql" -exec rm -rf {} \;
echo "=====备份文件成功==========="
给所有者一个执行权限
chmod 744 backups_pg.sh
执行
./backups_pg.sh
Linux定时任务--Crond
简介:
crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似。
Crond状态的命令
systemctl reload crond.service #重启crontab
systemctl start crond.service
systemctl stop crond.service
systemctl restart crond.service
# 如果不支持systemctl命令
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
# 设置Crond开机是否自启
# 1. 查看crond.serivce服务的自启动状态
systemctl is-enabled crond.service
> disabled
# 1.1 此时crond.serivce的自启动状态为disabled [开机不会自启动]
# 1.2 如果时enabled,表示自启动状态为enabled [开机会自启动]
# 开启crond.serivce服务自启动
systemctl enable crond.service
systemctl is-enabled crond.service
> enabled
# 列出所有的启动文件:
systemctl list-unit-files
# 列出所有状态为enable的启动文件
systemctl list-unit-files | grep enable
# 关闭crond.serivce的自启动状态
systemctl disable crond.service
crontab 基础命令
参数 | 含义 | 示例 |
-l(list) | 查看crontab文件内容 | crontab -l |
-e (edit) | 编辑crontab文件内容 | crontab -e |
-i | 删除crontab文件内容,删除前会提示确认 | crontab -i |
-r | 删除crontab文件内容 | crontab -r |
-u (usr) | 执行使用的用户执行任务 | crontab -u |
每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
一般情况下数据库备份每1小时30分备份一次
30 */1 * * *
那么下面我们来添加定时任务
crontab -e
>> 后面的是创建的文件用来记录 sh 脚本里面的打印(echo)
wq 进行保存
查看定时任务列表
crontab -l