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)

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中,定期备份数据库是一个关键任务,确保数据安全。Linux环境下,常用的方法是结合shell脚本、数据库管理工具(如MySQLmysqldump或pg_dump for PostgreSQL)以及调度工具cron来实现数据库的自动备份。以下是基本的步骤: 1. **选择备份工具**: - MySQL:可以使用`mysqldump`命令创建SQL脚本备份。 - PostgreSQL:使用`pg_dump`命令。 - 其他数据库(如MongoDB, Oracle等)也有相应的备份工具。 2. **编写shell脚本**: - 创建一个shell脚本(例如`backup.sh`),内容通常包括选择数据库、执行备份命令并保存到指定路径。 ``` #!/bin/bash mysqldump -u [username] -p[password] [database_name] > /path/to/backup/directory/db_backup.sql ``` 对于PostgreSQL: ``` pg_dump -U [username] -F c -b -v [database_name] > /path/to/backup/directory/db_backup.dump ``` 3. **设置crontab**: - 使用`crontab -e`编辑用户的定时任务计划,添加一行类似以下的内容,指定每天的特定时间进行备份: ``` 0 2 * * * /path/to/backup/script/backup.sh ``` 这里解释一下定时器含义:`0 2 * * *`分别代表分钟(0)、小时(2)、月份中的日期(*,所有日期)、星期(*,所有星期)和年份(*,所有年份),表示每天凌晨2点执行备份。 4. **权限和日志**: - 确保备份脚本有执行权限,并且备份目录要有足够的写入权限。 - 可能需要设置日志文件记录备份过程,以便追踪和排查问题。 5. **验证和测试**: 定期检查备份是否成功,可以通过运行备份脚本来查看结果,或者恢复一小部分数据验证备份的数据完整性和一致性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值