一、创建备份文件和删除文件
1、创建备份文件
touch wzbackup.sh
输入以下内容:
#!/bin/sh
SYSTEM_TIME=`date '+%Y-%m-%d'` #定义日期变量,取当前日期
/usr/local/mysql/bin/mysqldump -h127.0.0.1 -P3306 -uroot -ppass --single-transaction -B ggflffw |gzip > /data/backups/fwxt/wz-backup$SYSTEM_TIME.sql.gz
2、创建删除文件
touch wzdelete.sh
if test -e /data/backups/fwxt/
then
find /data/backups/fwxt/wz-backup*.sql.gz -mtime +5 -exec rm -rf {} \; #删除5天之前的打包文件
fi
3、赋予执行权限
在所有这些方法中,脚本文件 wzbackup.sh 将被创建(如果文件已存在,则会被覆盖)在当前的目录下。创建脚本文件后,你需要给它执行权限:
chmod +x wzbackup.sh
chmod +x wzdelete.sh
4、测试执行脚本
这样,你就可以运行你的脚本了:
./wzbackup.sh
./wzdelete.sh
二、加入到定时任务
1. 打开当前用户的crontab文件
crontab -e
这会打开当前用户的crontab文件进行编辑。如果是第一次使用crontab -e,可能会提示你选择编辑器。
添加定时任务
在打开的crontab文件中,添加一行来定义你的定时任务。例如,如果你想让脚本wzbackup.sh每天凌晨1点(午夜)执行,你可以添加以下行:
0 2 * * * /bin/bash /data/backups/wzbackup.sh
0 1 * * * /bin/bash /data/backups/wzdelete.sh
这行命令的格式如下:
第一个0代表分钟(0分钟,即每小时的第0分钟)。
第二个0代表小时(24小时制的0点,即午夜)。
接下来的三个*分别代表日、月、星期几(即每天、每个月、每周都执行)。
4. 确认定时任务已添加
你可以通过以下命令查看当前用户的crontab文件内容,确认定时任务已添加:
crontab -l
三、其他
1、问题:
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect
解决:
(1)、赋予全局权限
GRANT ALL ON *.* TO '用户名'@'%';
(2)、刷新权限
FLUSH PRIVILEGES;