linux 下自动备份mysql5.7 和 站点源码

一、MYSQL5.7自动备份

1、修改my.cnf配置文件(原因使用mysqldump备份的时候直接输入账号密码会提示:mysqldump: [Warning] Using a password on the command line interface can be insecure.)

vim /etc/my.cnf

在最后添加  your_backup_user_name 和 your_backup_password 改成自己的账号密码 

[mysqldump]

user=your_backup_user_name
password=your_backup_password

然后保存退出。

2、编写/home/mysql.sh并设置权限 chmod 755 mysql.sh

#!/bin/bash

#db_user="root"
#db_passwd="Abc@123456"
db_name="mysql"
backup_dir="/home/backup/database"
time="$(date +"%Y%m%d%H%M%S")"     

#mysqldump -u$db_user  -p$db_passwd $db_name  > "$backup_dir/$db_name"_"$time.sql"
mysqldump $db_name  > "$backup_dir/$db_name"_"$time.sql"

3、运行mysql.sh查看对应目录下是否生成备份文件

./mysql.sh

4、添加自动执行任务(表示每8小时执行一次)

vim /etc/crontab
* */8 * * * root /home/mysql.sh

注释:

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed


分 时 日 月 周 执行命令
第 1 列分钟 1~59,每分钟用 * 或者*/1表示,整点分钟数为00或0
第 2 列小时 1~23(0 表示 0 点)
第 3 列日 1~31
第 4 列月 1~12
第 5 列星期 0~6(0 表示星期天)
第 6 列 管理员 要运行的命令


*/1 * * * * root /home/mysql.sh 每分钟执行一次
或者
0 3 * * * /home/mysql.sh,此命令表示在每天的凌晨三点执行一次脚本,可自行调整时间
或者
0 3 * * * root /home/mysql.sh,此命令表示在每天的凌晨三点执行一次脚本,可自行调整时间


特殊字符介绍:
星号(*):代表每的意思,例如month字段如果是星号,则表示每月都执行该命令操作。
逗号(,):表示分隔时段的意思,例如,“1,3,5,7,9”。
中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

二、站点源码自动备份

1、添加/home/www.sh

#!/bin/bash

tar zcf /home/backup/www.tar.gz /home/www

2、设置权限

chmod 755 /home/www.sh

3、设置定时任务(每天23点开始备份)

vim /etc/crontab
0 23 * * * root /home/www.sh

猜你喜欢

转载自blog.csdn.net/u011477914/article/details/88049767