linux 文件备份定时任务脚本,linux服务器每天执行备份数据库定时任务脚本demo
30 04 * * * /data/jiaoben/mysql_backup.sh 每天4點執行腳本 qq571031767
數據作為網站及網絡的靈魂,及時做好數據備份才是天道。
否則,某天一個錯誤操作導致損失幾百上千萬甚至更多更多~~? 好可怕~? 因為我就不小心錯誤操作過
好啦,怎么備份,怎么處理我來教你
腳本文件 mysql_backup.sh 上傳后記得修改此文件的權限
!/bin/bash
#db_password=`cat /data/www/mysql_password`
db_name='sm'
backup_dir='/data/www/mysqlback/'
current_time=$(date +'%Y-%m-%d_%H%M%S')
filepath=$backup_dir$current_time'.sql.gz'
tables='cmstop_article cmstop_baoliao cmstop_content cmstop_qudonghao_user cmstop_admin cmstop_qudonghao_comment'
n=43200 #43200分鐘 也就是30天
#此處沒有使用 $db_password $db_user, 已經寫入到配置文件中
echo '開始導出數據庫...'
mysqldump --defaults-extra-file=/data/jiaoben/my_mysql.cnf $db_name $tables | gzip > $filepath
echo '導出成功,文件名為: '$filepath
#find . -mtime +30 -type f -name "*.sql.*" -exec rm -f {} \; 未經測試
find $backup_dir -maxdepth 1 -type f -mmin +$n -name "*.sql.gz" | xargs rm -rf #親測 +n 代表n分鐘 刪除30天前的備份
# 命令: find . -mtime +N -type f -name "*.log.*" -exec rm -f {} \;
# 簡單解釋: find .查詢 ;
# -mtime 規定時間的一個參數,固定格式;
# +N : N是指N天前;
# -type f :類型文件;
# -name: 名稱;
# "*.log.*" :要刪除的文件的后綴名稱,如果是刪除全部,可以寫"*";
# -exec rm -f {} \ :固定格式,遞歸刪除前面條件約束下的文件;
#*/1 * * * * /www/jiaoben/mysql_backup.sh 定時任務-每分鐘執行腳本 /www/jiaoben/mysql_backup.sh
# 30 04 * * * /data/jiaoben/mysql_backup.sh 每天4點執行腳本 qq571031767
配置文件 my_mysql.cnf
[mysqldump]
max_allowed_packet= 400M
host=192.168.0.4
user=yourmysqluser
password='yourmysqlpass'
[mysql]
host=192.168.0.4
user=yourmysqluser
password='yourmysqlpass'
最后添加定時任務
30 04 * * * /data/jiaoben/mysql_backup.sh 每天4點執行腳本 qq571031767
好啦,上述就是linux下的 數據庫備份腳本,本篇講了如何備份mysql下的特定表文件,如果想備份整個數據庫,只需要修改上述的tables
crontab -e 編輯定時任務哦
總結
以上是生活随笔為你收集整理的linux 文件备份定时任务脚本,linux服务器每天执行备份数据库定时任务脚本demo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Cloud七大组件是什么(
- 下一篇: linux添加cmd命令行参数,Wind