做了定时任务备份mysql表,发现都没有执行成功,查看日志发现也都执行了
研究了下才发现原来是路径问题:
原脚本如下:
#!/bin/sh
datedir=`date +%Y%m%d%H%M%S`
if [ ! -d $datedir ];then
mkdir $datedir
fi
for table in `cat $dirpath/tables.txt`
do
mysqldump -h172.x.16.x -uyi -p'mw1Fk2Yfdjvufez%' booking-resource -t $table --set-gtid-purged=OFF > $datedir/${table}.sql
done
修改后
#!/bin/sh
dirpath=$(dirname $0)
datedir=`date +%Y%m%d%H%M%S`
if [ ! -d $dirpath/$datedir ];then
mkdir $dirpath/$datedir
fi
for table in `cat $dirpath/tables.txt`
do
mysqldump -h172.x.16.x -uyi -p'mw1Fk2Yfdjvufez%' booking-resource -t $table --set-gtid-purged=OFF > $dirpath/$datedir/${table}.sql
done
想要验证下就调整cron为每一分钟执行一次
0 0 * * * /bin/bash /home/sq/mysql/mysql_table.sh
调整为:
*/1 * * * * /bin/bash /home/sq/mysql/mysql_table.sh
注意是*/1不是1/*,
这样就能立马看到执行结果,起到验证的效果。