crontab添加系统定时任务--数据库定时备份脚本&传输文件到阿里云服务器定时脚本

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/danielzhou888/article/details/82690180

前言

        由于公司网站被黑客攻击,导致部分数据丢失,需要使用0.6个比特币赎回,因为建立数据安全对策,提高网站和数据安全级别,同时进行数据定时备份,并将数据传输阿里云服务器存放,特此记录。

1,A,B服务器之间建立信任

https://blog.csdn.net/cserchen/article/details/18556493

在A服务器 ssh-keygen生成密钥用于信任关系生成

执行即可:scp -P22 ./id_rsa.pub zhouzhixiang@Bip:/root/.ssh/authrorized_keys

之后scp上传文件即可不用输密码

2,数据库备份执行脚本:

db_backup_questionnaire.sh

#!/bin/bash

# 数据库认证

user="***"

password="***"

host="***"

db_name="***"

# 其它

backup_path="/usr/local/_backup/mysql/questionnaire"

date=$(date +"%Y-%m-%d-%H-%M-%S")

# 设置导出文件的缺省权限

umask 177

# Dump数据库到SQL文件

mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$date.sql

chmod 777 -R $backup_path/



# scp传输命令

scp /usr/local/_backup/mysql/questionnaire/$date.sql [email protected]:/usr/local/_backup/mysql/questionnaire



# 删除10天之前的就备份文件

find $backup_path/* -mtime +10 -exec rm {} \;

db_backup_scmd.sh

#!/bin/bash

# 数据库认证

user="***"

password="***"

host="***"

db_name="***"

# 其它

backup_path="/usr/local/_backup/mysql/scmd"

date=$(date +"%Y-%m-%d-%H-%M-%S")

# 设置导出文件的缺省权限

umask 177

# Dump数据库到SQL文件

mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$date.sql

chmod -R 777 $backup_path/



# scp传输命令

scp /usr/local/_backup/mysql/scmd/$date.sql [email protected]:/usr/local/_backup/mysql/scmd

# 删除30天之前的就备份文件

find $backup_path/* -mtime +10 -exec rm {} \;

3.使用命令:crontab -e   设置脚本定时执行规律(设置为20分钟执行一次脚本)

   crontab -l     查看定时任务列表

   crontab -r     移除定时任务

4,常见问题:

a,文件夹权限问题导致的复制失败或者上传失败,通过chmod -R 755 **给文件授权即可

b,scp命令执行成功,但是到B服务器却并没有见到上传的文件:

此时情况一:文件夹授权问题;

情况二:上传文件目录问题,更改上传文件目录到根目录,一级一级上传直至目录正确

c,。。。。。

还请多多关注哦。

猜你喜欢

转载自blog.csdn.net/danielzhou888/article/details/82690180
今日推荐