前言:mysqldump备份数据库命令
mysqldump -u root -psztx@2018 fengliuxiaosan > /dbbackup/fengliuxiaosan.sql
###mysqldump -u 用户 -p密码 数据库名 > 存放路径/数据库名.sql
使用命令 crontab -e 然后直接编辑定时脚本。
这样执行以后,属于用户自定义的,会被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚本。
如:
[root@localhost ~]# crontab -l */1 * * * * /usr/bin/curl http://www.xxx.com/Scheduled/Index 1 3 * * * /bin/sh /dbbackup/backup.sh ##就是这一条定时任务,
新建备份目录和创建backup.sh脚本文件,这些命令和目录都可以自定义
mkdir /dbbackup cd /dbbackup/ vi backup.sh
下面看这个backup.sh的代码
#!/bin/bash user=root ##数据库用户名 passwd=fengliuxiaosan ###数据库密码 back_dir="/dbbackup" ##指定保存备份数据库的目录 dbname="fengliuxiaosan" ###指定数据库名 date=`date +%F` ##指定命名 mysqldump -u $user -p$passwd $dbname > $back_dir/$dbname-$date.sql ###使用mysqldump来执行备份指定数据库 tar -czvf $back_dir/$dbname-$date.tar.gz $back_dir/$dbname-$date.sql ##打包压缩备份的sql文件为.tar.gz格式 rm -f $back_dir/$dbname-$date.sql ###删除备份的sql文件,因为上面已经压缩了。这个就不需要了 find $back_dir -mtime +30 -name "*.tar.gz" -exec rm -rf {} ; ###执行指定时间查找命令,删除时间格式多的压缩包。不然每天压缩一个,磁盘会占满。
最后别忘了给执行的权限!
chmod +x backup.sh
完成,就等时间查看目录的压缩包文件。