1. 程式人生 > >crontab新增系統定時任務--資料庫定時備份指令碼&傳輸檔案到阿里雲伺服器定時指令碼

crontab新增系統定時任務--資料庫定時備份指令碼&傳輸檔案到阿里雲伺服器定時指令碼

前言

        由於公司網站被黑客攻擊,導致部分資料丟失,需要使用0.6個比特幣贖回,因為建立資料安全對策,提高網站和資料安全級別,同時進行資料定時備份,並將資料傳輸阿里雲伺服器存放,特此記錄。

1,A,B伺服器之間建立信任

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

在A伺服器 ssh-keygen生成金鑰用於信任關係生成

執行即可:scp -P22 ./id_rsa.pub [email protected]:/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,。。。。。

 

 

還請多多關注哦。