下面是 Bash 中常用的检查、备份和日志维护命令。安装示例适用于使用 APT 的 Debian / Ubuntu;先确认系统版本和软件包,再执行安装。
查看资源占用
df -hfree -htopdf -h查看文件系统容量。free -h查看内存使用情况。top查看进程,按q退出。
查找指定目录下超过 100 MiB 的文件:
find /var/log -type f -size +100M -exec ls -lh -- {} +把 /var/log 换成需要检查的目录。此命令只列出文件,不清理文件。
检查和安装软件包
先检查发行版和软件源中的候选版本:
cat /etc/os-releaseapt-cache policy nginx确认后安装 Nginx:
sudo apt-get updatesudo apt-get install nginxsudo systemctl enable --now nginxsystemctl status nginx --no-pagerenable --now 同时设置开机启动并立即启动服务。Docker、Node.js、MongoDB 等软件的仓库配置随发行版变化,应使用各项目的安装文档,不复用旧版的 apt-key 脚本。
备份 MySQL
使用 mysql_config_editor 保存一个名为 backup 的连接配置;密码由命令交互读取:
mysql_config_editor set --login-path=backup --host=127.0.0.1 --user=backup_user --password将下方脚本保存为 backup-mysql.sh,把库名和目录改为自己的值:
#!/usr/bin/env bashset -euo pipefailumask 077
db_name="your_database"backup_dir="$HOME/db-backups"mkdir -p -- "$backup_dir"backup_file="$backup_dir/$db_name-$(date +%Y%m%d-%H%M%S).sql"
mysqldump --login-path=backup --single-transaction --databases "$db_name" > "$backup_file"printf '备份完成:%s\n' "$backup_file"--single-transaction 适合 InnoDB 一致性备份;备份期间避免修改表结构。非事务表不能靠该选项保证一致性。备份账号还需要相应权限,备份成功后应在独立测试库验证恢复。MySQL 备份说明
压缩指定目录
source_dir="/path/to/data"archive_file="$HOME/data-backup.tar.gz"tar -czf "$archive_file" -C "$(dirname -- "$source_dir")" -- "$(basename -- "$source_dir")"tar -tzf "$archive_file" | head输出文件放在源目录之外。第二条命令列出归档内容,先确认需要的文件已写入。
查看与维护日志
对于 systemd journal:
journalctl --disk-usagejournalctl -u nginx --since today --no-pager需要清理已归档的 journal 时,先确定保留期限。例如保留最近 14 天:
sudo journalctl --rotate --vacuum-time=14d这会删除超出期限的归档日志。普通文本日志交给 logrotate 轮转,不要批量截空正在写入的 /var/log/*.log。journalctl 手册
创建 Python 虚拟环境
sudo apt-get install python3 python3-venvpython3 -m venv .venvsource .venv/bin/activatepython --versiondeactivate进入虚拟环境后再安装项目依赖。Python 的实际版本由当前发行版的软件源决定。
评论