参考文章
https://www.cnblogs.com/letcafe/p/mysqlautodump.html
sh脚本
vim mysql_dump_script.sh
#!/bin/bash
number=31
backup_dir=/data/mysqlbackup
dd=`date +%Y-%m-%d-%H-%M-%S`
tool=mysqldump
username=root
password=123456
database_name=mydb
if [ ! -d $backup_dir ];
then
mkdir -p $backup_dir;
fi
# mysqldump -u root -p123456 users > /data/mysqlbackup/users-$filename.sql
$tool -u $username -p$password -A > $backup_dir/$database_name-$dd.sql
echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt
delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1`
count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l`
if [ $count -gt $number ]
then
rm $delfile
echo "delete $delfile" >> $backup_dir/log.txt
fi
授权脚本
mysql_dump_script.sh
chmod -R 777 mysql_dump_script.sh
service: command not found问题
yum install initscripts -y
crontab安装,如果没有
检查Cronta工具是否安装:crontab -l
centOSs安装cron
yum install vixie-cron
yum install crontabs
cron服务命令
cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
cron配置
执行编写的定时任务脚本
vi mysqlRollBack.cron
* * * * * /data/mysql_dump_script.sh
随后使用crontab命令定期指令编写的定时脚本
crontab /data/cron/mysqlRollBack.cron
再通过命令检查定时任务是否已创建:
crontab -l
附crontab的使用示例:
1.每天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
2.每两个小时
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
3、每分钟
* * * * * /data/mysql_dump_script.sh