Linux 下的 mysql 自动备份
? ? ? ? Linux 下实现自动备份,主要就是编写好执行备份的?shell script(?*.sh?)文件,设好权限(可读,可执行)。然后利用 Linux 定时任务 crontab 来执行备份脚本就可以了。以后备份其他文件也是这样的执行过程 创建自动备份的配置文本# 数据库账号 db_user="****" # 数据库密码 db_passwd="**************" # 数据库名称 db_name="db_test" # 指定备份数据库存放目录,此目录根据自己的需要可以修改,但是一定要指定绝对路径 backup_dir="/usr/software/mysqlbackup" # 数据库名称后更得时间格式 (年月日时分秒) time="$(date +"%Y%m%d%H%M%S")" # 备份关键语句,其中 mysqldump 命令。注意变量前面加 $ 。 mysqldump -u$db_user -p$db_passwd $db_name > "$backup_dir/$db_name"_"$time.sql" 如果需要压缩,把最后一句话替换成? # 备份并压缩关键语句,其中 mysqldump 和 gzip 命令。注意变量前面加 $ 。 mysqldump -u$db_user -p$db_passwd $db_name | gzip > "$backup_dir/$db_name"_"$time.sql.gz" 这就是备份的 shell script。 ? ?如果想要验证一下效果 那么就输入 这个文件的绝对路径,然后回车就可以了。 ? ?例如上面这个脚本存放在 usr —> sbin 目录下,它的名字是mysqlback.sh。那么手动执行验证的方法就是输入? ??/usr/sbin/mysqlback.sh ,然后回车 ? ?*? 注意:backup_dir 此目录一定是存在的,并且拥有可写权限。 ? 修改配置文本的权限(必须有可读,可执行的权限)? ?在Linux 中,脚本执行必须有可执行权限,可读权限,修改权限? ? chmod +x?/usr/sbin/mysqlback.sh。 ? ?Linux 中权限的知识可以见我博客:认识 Linux 文件权限 创建定时执行内容(用的 Linux 中的 crontab)? ?定时任务是?crontab 。创建并且编辑?crontab 任务 ? ?crontab -e?? 此配置脚本的一行就是一个任务。定时任务可以根据 分钟、小时、日、月、星期 的时间类型(星期和月日同时设定)来定,他们内容范围是 ? ? ? 特殊字符、特殊时间的标识 ? ? ? ? 如果想要删除其中的一个任务就是通过删除任务所在的那行就可以了。 查看定时任务 crontab -l(这个参数是小写的爱欧,不是大写哎)? 删除全部定时任务 crontab -r (此命令慎用)。 ? ?关于 Linux 中,编辑文本的方法:? ? ?如果想要编辑 test 这个文本,那么? vi? test? 。或者 vim test 。如果当前目录不在这个文件所在当前目录下,用 绝对路径就可以。 ? ? ?进去以后,还是不能编辑内容,需要点击 i 才能够编辑内容 ? ? ?完成编辑后:点击 Esc 键,退出编辑模式 ? ? ?点击? :wq 为保存退出编辑。:q 不保存退出。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |