mysql 数据备份 crontab
每天凌晨 2 点备份数据
crontab -e
0 2 * * * mysqldump ${mysqldir}/bin/mysqldump -h$host -P$port -uadmin -p"$passwd" --events --flush-logs --master-data=2 --all-databases| gzip > ${dailyBackupDir}/$date/allback.sql.gz
计划任务这些命令要写绝对路径
crontab 查看、编辑和删除
-u 指定用户名,默认是当前用户。如果是在 su 命令下,应该总是使用 -u 选项(for safety's sake)
-l 列出当前计划任务
-r 删除当前用户的计划任务
-e Edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables. The specified editor must edit the file in place; any editor that unlinks the file and recreates it cannot be used. After you exit from the editor, the modified crontab will be installed automatically.
cron服务每分钟不仅要读一次 /var/spool/cron 目录内的所有文件,还需要读一次 /etc/crontab 文件。配置这个文件也能让cron执行任务。使用crontab命令是对用户级任务的配置,而编辑 /etc/crontab 文件是对系统级任务的配置
mysqldump 常用方法:
(1) 导出整个数据库(包括数据库中的数据)
mysqldump -u username -p dbname > dbname.sql
(2) 导出数据库结构(不含数据)
mysqldump -u username -p -d dbname > dbname.sql
(3) 导出数据库表(包括数据库中的数据)
mysqldump -u username -p dbname tablename > tablename.sql
(4) 导出数据库表结构(不含数据)
mysqldump -u username -p -d dbname tablename > tablename.sql
gzip
gzip -c file > file.gz // 压缩
gzip -cd file.gz > file // 解压