首頁  >  文章  >  資料庫  >  linux下Vps自動備份web和mysql資料庫的腳本怎麼寫

linux下Vps自動備份web和mysql資料庫的腳本怎麼寫

WBOY
WBOY轉載
2023-05-26 12:34:061168瀏覽

一、備份web資料夾
1、備份/home/users/public_html目錄
2、修改crontab為每週第一天3:22時執行

複製程式碼 程式碼如下:

22 3 * * 0 root run-parts /etc/cron.weekly

3、複製腳本到/etc/cron.weekly目錄
4、修改權限

複製程式碼 程式碼如下:

chmod 0755 /etc/cron.weekly/webbackup.sh

#5、腳本如下

複製程式碼 程式碼如下:

#!/bin/sh
filename=`date %y%m%d`
backup_dir="/root/dropbox/backup /web"
#delete all files 10 days ago
find $backup_dir -mtime 30 -name "*" -exec rm -rf {} \;
#each user you want backup
users= "baidu sina"
for user in ${users}; do
tar zcvf $backup_dir/$user$filename.tar.gz /home/$user/public_html
done

#6 、注意filename那句不是單引號,在tab鍵上方
7、要備份的使用者的public_html目錄,就把該使用者填入users
二、mysql資料庫每日備份

1、為了安全,新用戶backup,用強密碼(自動產生即可),全域權限為select,lock tables
2、每日3:00開始執行,修改crontab
3 、複製腳本到/etc/cron.daily
4、修改權限
5、腳本內容

複製程式碼 程式碼如下:

#!/bin/sh
dbuser="backup"
dbpassword="youpassword"
datas="db1 db2 db3"
filename=`date %y%m%d`
bin_dir="/usr/local /mysql/bin"
backup_dir="/root/dropbox/backup/mysql"
#delete all files 10 days ago
find $backup_dir -mtime 10 -name "*" -exec rm -rf { } \;
#do each database backup
for data in ${datas}; do
$bin_dir/mysqldump --opt -u$dbuser -p$dbpassword $data | gzip > $backup_dir/ $data$filename.sql.gz
done

6、同上一個第6條
7、要備份的資料庫填入datas

以上是linux下Vps自動備份web和mysql資料庫的腳本怎麼寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除