上一篇
Linux服务器常用命令保存与管理教程 运维必备操作指南
- 行业动态
- 2025-04-15
- 8
服务器基础操作中,常用命令保存方式包括:使用重定向符(如
>
或
>>
)将输出写入文件,通过
tee
命令实时保存日志,或调用
systemctl enable
持久化服务配置,部分工具如
iptables-save
可导出防火墙规则,编辑文件后需用
:wq
(vim)等保存退出,确保变更生效。
在服务器管理中,保存命令的执行结果、配置变更记录或操作日志是运维工作的核心需求之一,合理保存这些信息不仅便于故障排查,还能用于审计、回滚及团队协作,以下从操作记录留存、输出重定向、会话管理等场景出发,详细介绍实用方法。
实时保存命令输出
输出重定向符号
- 覆盖写入文件
command > output.log
将命令的标准输出(stdout)覆盖写入文件。ls -l /var/www > directory_list.txt
- 追加写入文件
command >> output.log
保留文件原有内容,追加新内容,适合持续记录日志:date >> server_status.log free -h >> server_status.log
- 同时保存错误和正常输出
command &> full.log
将stdout和stderr(错误输出)合并保存到同一文件。
使用 tee
命令
- 屏幕显示并保存
command | tee file.log
实时显示输出结果并保存到文件,避免“盲操作”:dmesg | tee kernel_messages.log
- 追加模式
command | tee -a file.log
适合多批次执行命令时持续记录。
完整保存操作会话
script
命令记录全会话
- 启动记录:
script -a session.log
此后所有操作(包括输入和输出)会被记录到
session.log
,退出时输入exit
。 - 记录时间戳:
script -a --timing=time.log session.log
生成带时间标记的日志,便于复盘操作时序。
终端复用工具
- Screen
启动会话并自动记录:screen -L -Logfile screen.log
日志默认保存为
screenlog.0
。 - Tmux
按Ctrl+B
后输入:capture-pane -S -300
可捕获最近300行内容,通过save-buffer log.txt
保存。
历史命令备份与管理
导出 history
记录
- 查看历史命令:
history
- 备份到文件:
history > command_history_$(date +%F).txt
优化历史记录配置
编辑 ~/.bashrc
文件,添加以下配置:
export HISTTIMEFORMAT="%F %T " # 记录时间 export HISTSIZE=10000 # 内存中保存的条数 export HISTFILESIZE=20000 # 文件保存的条数 export HISTCONTROL=ignoredups # 忽略重复命令
生效配置:
source ~/.bashrc
配置文件的版本控制
手动备份
- 直接复制文件:
cp httpd.conf httpd.conf.bak_$(date +%s)
- 使用
rsync
增量备份:rsync -av /etc/nginx/ /backup/nginx_config/
Git 管理变更
- 初始化仓库:
cd /etc/nginx git init git add . git commit -m "Initial config"
- 后续变更提交:
git diff git commit -a -m "Updated SSL settings"
注意事项
- 文件权限与路径
保存日志时,确保目标目录有写入权限(如/var/log
通常需sudo
)。 - 存储空间监控
长期记录可能占用大量磁盘,建议搭配日志轮替工具(如logrotate
)。 - 敏感信息保护
避免在日志中明文记录密码、密钥,可使用工具加密或设置文件权限为600
。
引用说明
- GNU Coreutils 手册:https://www.gnu.org/software/coreutils/
- Linux man 页面(
man script
、man tee
) - Screen 官方文档:https://www.gnu.org/software/screen/