檢查硬碟空間
df -h
檢查資料夾大小
du -sh /home/james/*
MySQL log 太大
設定
/etc/my.cnf
只保留七天的 Log
[mysqld]
expire-logs-days=7
重啟 mysql
systemctl restart mariadb
進入 mysql
mysql -u root -p
刷新 log
FLUSH LOGS;
檢查目前 log 在哪個位置
SHOW MASTER STATUS;
清除指定時間 log
PURGE BINARY LOGS BEFORE NOW();
或清指定的 log 檔
PURGE BINARY LOGS TO 'mysql-bin.000047';
FreeBSD crontab backup remote file to local
1. 在遠端排程備份檔案, 新版 MySQL 使用 command line password 會出現錯誤, 所以要改使用--defaults-file存入密碼, 方能執行不會出現錯誤.
echo 'export database'
mysqldump --defaults-file=/home/user/.my.cnf --user=user --databases user_db > user_db.sql
echo 'tar databases'
today=`date +%Y%m%d`
file="user_"$today".tar.gz"
echo 'tar '$file
tar -zcvf $file user_*.sql
echo 'remove databases'
rm user_*.sql
2. 在本地端排程檔案下載, 使用ssh 連線省去打密碼的步驟. 當程式遇到 <<EOC 時, 會把之後的命令自動輸入, 直到遇到EOC時才會結束. 相關文章可以Google shell EOC 的說明.
today=`date -v-1d +%Y%m%d`
echo 'get user backup'
file="user_"$today".tar.gz"
sftp -i ../.ssh/user user@123.456.789.100 <<EOC
cd export
get $file
bye
EOC
echo 'export database'
mysqldump --defaults-file=/home/user/.my.cnf --user=user --databases user_db > user_db.sql
echo 'tar databases'
today=`date +%Y%m%d`
file="user_"$today".tar.gz"
echo 'tar '$file
tar -zcvf $file user_*.sql
echo 'remove databases'
rm user_*.sql
2. 在本地端排程檔案下載, 使用ssh 連線省去打密碼的步驟. 當程式遇到 <<EOC 時, 會把之後的命令自動輸入, 直到遇到EOC時才會結束. 相關文章可以Google shell EOC 的說明.
today=`date -v-1d +%Y%m%d`
echo 'get user backup'
file="user_"$today".tar.gz"
sftp -i ../.ssh/user user@123.456.789.100 <<EOC
cd export
get $file
bye
EOC
訂閱:
文章 (Atom)