编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Linux运维必会工具使用技巧示例(1)

wxchong 2024-06-13 22:32:10 开源技术 11 ℃ 0 评论

Linux运维涉及众多方面,熟练掌握一些核心工具和命令对于提升工作效率至关重要。这些工具和命令只是Linux运维冰山一角,每个工具都有其深入的应用场景和高级功能,但掌握这些基础操作将为你的运维工作打下坚实的基础。

使用技巧示例:

1. SSH (Secure Shell)

  • 远程登录与密钥认证:
  • Sh1# 生成SSH密钥对
  • 2ssh-keygen
  • 3
  • 4# 将公钥复制到远程服务器
  • 5ssh-copy-id user@remote_host

2. Vim / Nano / Emacs(文本编辑器)

  • Vim快速编辑:打开文件并进入插入模式:vim file.txt, 然后按i开始编辑。保存并退出:按Esc键,然后输入:wq回车。

3. Git(版本控制)

  • 基本工作流程:
  • Sh1# 初始化仓库
  • 2git init
  • 3
  • 4# 添加文件到暂存区
  • 5git add .
  • 6
  • 7# 提交更改
  • 8git commit -m "Initial commit"
  • 9
  • 10# 推送到远程仓库
  • 11git push origin master

4. Docker(容器化)

  • 快速运行容器:
  • Sh1docker run -it ubuntu:latest /bin/bash

5. Ansible(自动化运维工具)

  • 基础Playbook示例:
  • Yaml1# ansible-playbook.yml
  • 2---
  • 3- hosts: webservers
  • 4 tasks:
  • 5 - name: Update package cache
  • 6 apt:
  • 7 update_cache: yes
  • 8 - name: Install Apache
  • 9 apt:
  • 10 name: apache2
  • 11 state: present

6. Jenkins(持续集成/持续部署)

  • 创建简单任务:在Jenkins界面新建任务,配置Git源码管理,添加构建步骤(例如执行Shell脚本或调用Maven命令)。

7. Nginx(Web服务器)

  • 配置基本HTTP服务:
  • Nginx1server {
  • 2 listen 80;
  • 3 server_name example.com;
  • 4 location / {
  • 5 root /var/www/html;
  • 6 index index.html;
  • 7 }
  • 8}

8. Systemd(系统和服务管理器)

  • 管理服务:
  • Sh1# 启动服务
  • 2systemctl start nginx.service
  • 3
  • 4# 停止服务
  • 5systemctl stop nginx.service
  • 6
  • 7# 重启服务
  • 8systemctl restart nginx.service
  • 9
  • 10# 查看服务状态
  • 11systemctl status nginx.service

9. Cron(计划任务)

  • 定时任务示例:
  • Sh1# 编辑crontab文件
  • 2crontab -e
  • 3
  • 4# 每天凌晨1点执行备份脚本 50 1 * * * /usr/local/bin/backup_script.sh

10. Tcpdump(网络抓包)

  • 抓取网络流量:
  • Sh1# 抓取eth0接口上所有流向port 80的流量
  • 2sudo tcpdump -i eth0 port 80

11. Netcat (nc)

  • 简易网络调试:
  • Sh1# 监听本地8080端口
  • 2nc -l 8080
  • 3
  • 4# 发送数据到远程主机的80端口
  • 5echo "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n" | nc example.com 80

12. htop(增强型进程查看器)

  • 实时监控系统负载与进程:
  • 1# 安装htop(如果尚未安装)
  • 2sudo apt-get install htop
  • 3
  • 4# 运行htop 5htop
  • 在htop中,通过F2进行设置,F3/F4选择排序方式,方向键导航,空格标记进程,F9发送信号(如终止进程)。

13. rsync(文件同步与备份)

  • 同步本地目录到远程服务器:
  • Sh1rsync -avz --progress /local/directory user@remote:/remote/directory
  • -a表示归档模式,保留原有文件属性;-v为详细模式;-z压缩数据传输。

14. Logrotate(日志文件管理)

  • 配置日志文件自动轮转:
  • Sh1# 编辑/etc/logrotate.d/myapp
  • 2/var/log/myapp/*.log {
  • 3 daily
  • 4 rotate 7
  • 5 compress
  • 6 delaycompress
  • 7 missingok
  • 8 notifempty
  • 9 create 644 root root
  • 10}

15. Glances(系统监视器)

  • 快速查看系统概览:
  • Sh1# 安装Glances
  • 2sudo apt-get install glances
  • 3
  • 4# 运行Glances 5glances
  • Glances提供了CPU、内存、磁盘、网络等多方面的系统信息。

16. Prometheus & Grafana(监控与可视化)

  • 基础配置:使用Prometheus收集指标。在Grafana中创建仪表板展示监控数据。 通常涉及到配置Prometheus的YAML文件来抓取目标,并在Grafana中导入或创建数据源及面板。

17. LVM(逻辑卷管理)

  • 创建LVM卷组与逻辑卷:
  • Sh1# 创建卷组名为vgdata
  • 2pvcreate /dev/sdb1
  • 3vgcreate vgdata /dev/sdb1
  • 4
  • 5# 在vgdata上创建大小为10GB的逻辑卷lvdata
  • 6lvcreate -L 10G -n lvdata vgdata
  • 7
  • 8# 格式化并挂载逻辑卷
  • 9mkfs.ext4 /dev/vgdata/lvdata
  • 10mount /dev/vgdata/lvdata /mnt/data

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表