docker容器內mysql定時任務備份及遇到問題

2021-10-25 18:35:42 字數 1342 閱讀 7665

注:部分為網上找到,後面加以修改。

命令:vi mysql_backup.sh

內容如下:

#!/bin/bash

# 設定mysql的登入使用者名稱和密碼(根據實際情況填寫)

mysql_user="root"

mysql_password="123456"

mysql_host="localhost"

mysql_port="3306"

mysql_charset="utf8mb4"

# 備份檔案存放位址(根據實際情況填寫)

backup_location=/usr/local

# 是否刪除過期資料

expire_backup_delete="on"

expire_days=7

backup_time=`date +%y%m%d%h%m`

backup_dir=$backup_location

welcome_msg="welcome to use mysql backup tools!"

# 備份指定資料庫中資料(此處我要備份的資料庫為longxing)

docker exec -i mymysql mysqldump -h$mysql_host -p$mysql_port -u$mysql_user -p$mysql_password -b longxing > $backup_dir/$backup_time.sql

# 刪除過期資料

if [ "$expire_backup_delete" == "on" -a "$backup_location" != "" ];then

`find $backup_location/ -type f -mtime +$expire_days | xargs rm -rf`

echo "expired backup data delete complete!"

fi

**注 在上面執行命令時一定不能為docker exec -it 不然執行任務時會出現:the input device is not a tty錯誤 **

執行以下命令:

chmod u+x *.sh
09 11 * * * cd /home/dbback;sh mysql_backup.sh >> log.txt 2>>log.txt
這邊做下注釋:前面時間表示任務啟動時間為11點09分。指令碼位置為:/home/dbback目錄下。後面就不用說了。

最終執行結果:

Docker容器內安裝mysql

docker pull mysql 5.7使 用docker命令啟動 docker run p 3306 3306 name mysql v mydata mysql log var log mysql v mydata mysql data var lib mysql v mydata mysql...

docker容器內安裝vim

reading package lists.done building dependency tree reading state information.done e unable to locate package vim這時候需要敲 apt get update,這個命令的作用是 同步 etc...

容器 docker 內執行Nginx

容器內執行nginx其實很簡單,但是一開始還是浪費了我很多時間。這裡寫下來給大家省點時間。1 建立nginx資料夾,放置各種配置及日誌等。mkdir docker nginxdocker 資料夾是我存放所有基礎設施容器的地方。2 建立nginx配置檔案 cd docker nginx vim ngi...