Linux实现数据库定时备份方式
作者:玖碍@
一、创建备份文件存放目录
mkdir databasebackup
二、创建数据存放目录
mkdir sql
三、创建一个脚本
将备份的执行命令写在脚本中:
mkdir backup.sh
执行命令:
#!/bin/sh #所有数据库备份,备份指定数据库时,将--all-databases修改为指定数据库名称 mysqldump -u[username] -p[password] --all-databases > /databasebackup/sql/`date +%F-%H-%M-%S`.sql
四、输入crontab -e编写定时任务
【注意最后一个*后面至少有两个空格】
#每天16:30定时执行 30 16 * * * sh /databasebackup/backup.sh
----------------------定时备份操作完成----------------------
基础命令:
crontab -e
: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)crontab -r
: 删除目前的时程表crontab -l
: 列出目前的时程表
时间格式:
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。