【运维】Linux 服务器实战(8):环境部署、备份与 Cron【系列收官】
Linux 服务器实战 · 第 8 篇(收官)
压缩备份、MySQL dump、Cron 定时任务—— 部署收尾 常用命令合集。
1. apt 与 .deb
sudo apt update
sudo apt install -y package
sudo apt remove --purge package
sudo apt autoremove -y
sudo apt-mark hold package # 禁止被 upgrade 升级
wget https://example.com/app_amd64.deb
sudo dpkg -i app_amd64.deb
sudo apt -f install -y # 补依赖
---
## 2. 压缩与解压
```bash
# tar.gz
tar -zcvf backup.tar.gz /path/to/dir
tar -zxvf backup.tar.gz
tar -zxvf backup.tar.gz -C /target/dir
# zip
zip -r site.zip /var/www/html
unzip site.zip -d /var/www/restore
unzip -l site.zip
---
## 3. find 常用
```bash
find /var/log -name "*.log" -mtime +30
find /home/backup -mtime +10 -type f -delete
find / -name "my.cnf" 2>/dev/null
---
## 4. Cron 定时任务
### 语法
分 时 日 月 周 命令
* * * * * 每分钟
0 * * * * 每小时整点
30 7 * * * 每天 7:30
*/5 * * * * 每 5 分钟
用户 crontab
crontab -e
crontab -l
crontab -r # 删光当前用户任务,慎用
### 系统级 `/etc/cron.d/`
```bash
sudo tee /etc/cron.d/mybackup << 'EOF'
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
15 3 * * * root /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
EOF
sudo chmod 644 /etc/cron.d/mybackup
Cron 日志:
```bash
grep CRON /var/log/syslog | tail -20
sudo journalctl -u cron -n 30 --no-pager
---
## 5. MySQL 最小运维
```bash
sudo systemctl status mysql
sudo systemctl restart mysql
备份(**请替换密码与库名**):
```bash
mysqldump -u root -p DATABASE | gzip > /home/backup/db_$(date +%Y%m%d_%H%M%S).sql.gz
恢复:
```bash
gunzip -c backup.sql.gz | mysql -u root -p DATABASE
开启 event scheduler(若需要)在 `/etc/mysql/mysql.conf.d/` 对应段加:
```ini
[mysqld]
event_scheduler=ON
---
## 6. Python / Node 环境(最小)
```bash
# Python venv
sudo apt install -y python3-venv python3-pip
python3 -m venv /var/www/app/venv
source /var/www/app/venv/bin/activate
pip install -r requirements.txt
# Node(示例用 NodeSource 或 nvm,按项目文档)
curl -fsSL <https://deb.nodesource.com/setup_20.x> | sudo -E bash -
sudo apt install -y nodejs
node -v && npm -v
---
## 7. Java 多版本(可选)
```bash
sudo apt install -y openjdk-17-jdk
sudo update-alternatives --config java
java -version
---
## 8. 关机与重启(复习)
```bash
sudo reboot
sudo shutdown -h now
sudo shutdown -r +10
sudo shutdown -c
---
## 全系列索引
| 篇 | 标题 | 链接 |
|----|------|------|
| 1 | Ubuntu 30 分钟初始化 | `/forum/13/` |
| 2 | SSH / fail2ban | `/forum/14/` |
| 3 | 磁盘与 LVM | 见分类列表 |
| 4 | systemd / journal | 见分类列表 |
| 5 | 网络 / ufw | 见分类列表 |
| 6 | 性能监控 | 见分类列表 |
| 7 | 故障诊断 | 见分类列表 |
| **8** | **部署与 Cron(本文)** | 本篇 |
**建议收藏**:第 1、3、7 篇日常最高频。
---
## 本篇速查
```bash
tar -zcvf bak.tar.gz /path
mysqldump -u USER -p DB | gzip > db.sql.gz
crontab -e
grep CRON /var/log/syslog | tail
```
Linux 服务器实战系列完结。欢迎在 运维与云原生 分类留言补充你想看的专题(Nginx、Certbot、Docker 等)。