如何在CentOS7.9上使用命令行备份网站文件?
美国、香港服务器
如何在CentOS7.9上使用命令行备份网站文件?
10-19 来源:
## . 基础打包命令(推荐)
tar -zcvf /backup/web/site_$(date +%Y%m%d_%H%M).tar.gz /www/wwwroot/域名目录
示例(网站目录 `/www/wwwroot/demo.com`)
tar -zcvf /backup/web/site_demo_$(date +%Y%m%d_%H%M).tar.gz /www/wwwroot/demo.com
参数说明
- `-z`:gzip 压缩
- `-c`:创建压缩包
- `-v`:显示打包过程(不想看过程去掉`v`)
- `-f`:指定输出文件
## 2. 排除缓存、日志、临时文件(强烈推荐,减小包体积)
tar -zcf /backup/web/site_demo_$(date +%Y%m%d).tar.gz \
--exclude=*/runtime \
--exclude=*/cache \
--exclude=*/tmp \
--exclude=*/logs \
/www/wwwroot/demo.com
## 3. 查看备份文件
ls -lh /backup/web/
## 4. 解压恢复网站文件(配套命令)
tar -zxvf /backup/web/site_demo_20261019.tar.gz -C /www/wwwroot/
- `-C` 指定解压到哪个目录
## 5. crontab 定时自动备份 + 自动清理旧包
编辑定时任务
crontab -e
添加:每天凌晨 2 点打包网站文件,只保留最近 7 天备份
0 2 * * * /usr/bin/tar -zcf /backup/web/site_demo_$(date +\%Y\%m\%d).tar.gz --exclude=*/runtime --exclude=*/cache /www/wwwroot/demo.com && find /backup/web -name "site_demo_*.tar.gz" -mtime +7 -delete
cron 中`%`必须转义`\%`
## 6. 网站文件 + 数据库 一键合并备份脚本(可选)
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M)
#备份网站文件
tar -zcf /backup/all/web_$DATE.tar.gz --exclude=*/runtime /www/wwwroot/demo.com
#备份数据库
mysqldump -uroot -p密码 --single-transaction demo | gzip > /backup/all/db_$DATE.sql.gz
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快