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 命令,定时运行四个目录下的所有脚本。
- /etc/cron.hourly,目录下的脚本会每个小时让执行一次,在每小时的2分钟时运行;
- /etc/cron.daily,目录下的脚本会每天让执行一次,在每天0点17分时运行;
- /etc/cron.weekly,目录下的脚本会每周让执行一次,在每周第七天的3点56分时运行;
- /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目录中的所有可执行文件*/