为什么 Linux 要用 tar.gz,很少用 7z 或 zip7z 和 zip 的局限7z 和 zip,这两位压缩界的老大哥,虽然强大,但在 Linux 面前却有个软肋——它们不能保留 Unix 风格的文件权限。这意味着,解压后的文件可能会失去原有的权限设置,需要你手动恢复。
7z 在 Wikipedia 条目有写明:
The 7z format does not store filesystem permissions (such as UNIX owner/group permissions or NTFS ACLs)
7z 格式不会存储文件系统权限(例如 UNIX 的所有者/组权限或 NTFS 的访问控制列表(ACLs))。
参考官方 ZIP 标准:https://pkware.cachefly.net/webdocs/APPNOTE/APPNOTE-6.3.5.TXT
tar 的魔法而 tar,这个看似简单的工具,却能完美保留文件的权限。它不仅仅是把文件内容打包,连同文件的权限也一并封装起来。这就像是给每个文件施加了一层保护咒语,确保它们在解压后依然安 ...
如何检查并保护Linux系统中的开放端口理解开放端口对管理应用程序和保障系统安全至关重要,开放端口既支持服务间通信,也可能使系统面临安全威胁。本文将介绍如何通过防火墙规则和最佳实践来检查并保护Linux系统中的开放端口。
端口号范围从 0 到 65535,分为三类:
知名端口(Well-Known Ports,0-1023):预留给系统级通用服务。
注册端口(Registered Ports,1024-49151):分配给用户级应用程序或服务。
动态/私有端口(Dynamic/Private Ports,49152-65535):由操作系统临时分配给客户端程序(如浏览器访问网站时),通信结束后立即释放。
最常用的端口号列表如下:
端口号
服务
功能
20, 21
FTP
文件传输
22
SSH
安全远程登录
25
SMTP
发送电子邮件
53
DNS
域名解析
80
HTTP
提供网页
110
POP3
检索电子邮件
123
NTP
时间同步
143
IMAP
管理电子邮件
161, 162
SNMP
网络监控
4 ...
如何使用 systemctl 添加自定义启动服务1. 引言在Linux系统中,systemd 是一种非常强大的初始化系统和服务管理器,它用于启动和管理系统服务。systemctl 是与 systemd 配合使用的命令行工具,可以用来启动、停止、重启和管理系统服务。本篇文章将介绍如何利用 systemctl 创建和管理自定义启动服务,以便在系统启动时自动执行自定义脚本或程序。
2. 什么是 systemd 和 systemctl?2.1. systemdsystemd 是一个用于初始化和管理系统进程的工具,替代了传统的 SysV init 系统。它的优势在于能够管理服务的启动顺序、并行启动服务、按需启动以及对系统的更细粒度控制。
2.2. systemctlsystemctl 是与 systemd 配合使用的命令行工具,提供了控制和管理系统服务的功能。通过 systemctl,你可以轻松地启停服务、查看服务状态、重新加载配置等。
3. 如何添加自定义启动服务?要将自定义脚本或程序添加为 systemd 管理的服务,并使其在系统启动时自动启动,可以按照以下步骤进行:
步骤 1:创建自定义脚 ...
定时任务的应用场景*数据备份*
定期对重要数据进行备份,是保障数据安全的重要手段。比如,我们可以设置每周日凌晨对整个数据库进行全量备份,或者每天对关键业务数据进行增量备份。这样,即便遇到硬件故障、误操作等意外情况,也能快速恢复数据。
*日志清理*
随着系统的运行,日志文件会不断增大,占用大量磁盘空间。通过定时任务,我们可以定期清理过期的日志文件,保持系统磁盘空间的充足。例如,每月 1 号凌晨清理上个月的所有日志文件。
*软件更新*
为了保证系统的安全性和稳定性,及时更新软件是必不可少的。我们可以利用定时任务,每周自动检查并更新系统软件包,确保系统始终处于最新状态。
*定时监控*
定时运行一些监控脚本,对系统的性能指标(如 CPU 使用率、内存占用、磁盘 I/O 等)进行采集和分析。一旦发现指标异常,及时发送报警信息,以便管理员及时处理。
Cron 服务与 Crontab 命令在 Linux 系统中,实现定时任务的主要工具是 Cron 服务和 Crontab 命令。
*Cron 服务*
Cron 是一个在后台运行的守护进程,它会定期检查系统中是否有需要执行的定时任务。如果有,就 ...
存储技术:RAID技术一、什么是RAID技术RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种通过组合多个物理硬盘形成逻辑存储单元的技术,旨在提升存储系统的性能、可靠性和容量。
性能提升:通过并行读写提高I/O速度(如RAID 0的条带化) 。
数据冗余:通过镜像或校验数据保证数据安全(如RAID 1的镜像、RAID 5的奇偶校验) 。
容量扩展:整合多块硬盘的存储空间
组成方式:
硬件RAID:RAID卡
软件RAID:操作系统提供的RAID功能通过软件实现(如Linux的mdadm工具)
RAID的数据组织形式:
条带(strip):硬盘中单个或者多个连续的扇区构成一个条带,他是一块硬盘上一次数据读写的最小单元。它是组成分条的元素。
分条(stipe):同一硬盘阵列中的多个硬盘驱动器上的相同“位置”(或者说是相同编号)的条带。
RAID的数据保护方式:方法一:在另一块冗余的硬盘上保存数据的副本。方法二:奇偶校验算法(XOR)。XOR运算广泛地使用在数字电子和计算机科学中。XOR校验的算法—-相同为假,相异为真:0⊕ ...
开源定时任务管理系统
Gocron 是一款基于 Go 语言开发的轻量级定时任务集中调度与管理系统,旨在替代传统的 Linux Crontab,为开发者和运维人员提供高效、直观且功能强大的任务调度解决方案。它通过 Web 界面实现任务的全生命周期管理,支持秒级精度调度、任务依赖配置、多节点执行等特性,成为 DevOps 领域的明星工具。
核心功能1. 可视化 Web 界面管理告别命令行操作的繁琐,Gocron 提供直观的 Web 界面。用户可通过浏览器随时添加、编辑、删除任务,实时查看执行日志和任务状态,无需登录服务器即可完成所有操作。
2. 精确到秒的调度规则支持类 Crontab 表达式且精度更高,可实现如「每 5 秒执行一次」「每周三上午 10:30 触发」等复杂规则,满足精细化调度需求。
3. 任务执行全链路控制
失败重试:任务执行失败时自动重试,提升容错能力;
超时终止:防止任务长时间占用资源,可设置超时阈值强制结束;
依赖管理:支持任务依赖链(如 A 任务完成后触发 B 任务),实现流程自动化。
4. 多任务类型支持
Shell 任务:在指定服务器节点执行 Shell ...
如何高效管理 Linux 服务器:自动化与脚本技巧 作为一名运维工程师,我们每天的工作是确保服务器的稳定运行、提高效率以及解决各种系统性问题。在繁忙的工作中,如何提升管理Linux服务器的效率,成为了我们最关注的问题。幸运的是,自动化工具与脚本技术为我们提供了巨大的帮助,能够显著简化管理工作,降低人为错误,提高生产力。
本文将探讨如何利用自动化和脚本技巧高效管理Linux服务器,提升运维效率。
一、为什么需要自动化管理在传统的手动运维模式下,我们常常需要执行一系列重复的操作,比如安装软件、检查服务状态、更新补丁、备份数据等。这些任务不仅繁琐、易出错,而且耗时耗力。自动化的引入,能够使我们通过编写脚本来执行这些任务,大大减轻了运维负担,提高了工作效率。
自动化带来的优势:
• 减少人为错误:重复的手动操作常常容易出错,自动化通过消除人工干预,极大地降低了错误率。
• 提高效率:自动化任务的执行速度远超手动操作,尤其在大规模服务器环境下,能够节省大量的时间。
• 统一标准:通过编写标准化的脚本,保证了各项操作的一致性和规范性,避免了因为人为差异导致的配置不统一问题。
二、自 ...
快速理解Linux磁盘管理:物理卷、逻辑卷与卷组一、物理卷(PV)物理卷是 LVM 的基础存储单元,能是整块硬盘或分区,如/dev/sda1。使用pvcreate命令初始化,就能让设备变成 LVM 可识别的物理卷,像pvcreate /dev/sdb ,为后续管理做准备。
常用命令:
123创建物理卷 pvcreate /dev/sdb 将磁盘初始化为物理卷查看物理卷 pvdisplay 显示所有物理卷详细信息删除物理卷 pvremove /dev/sdb 移除物理卷标签
二、卷组(VG)卷组由一个或多个物理卷组成,相当于一块大容量逻辑硬盘。通过vgcreate -s 8M VG_NAME /dev/sda1 /dev/sdb1,就能组建卷组,并按需用vgextend和vgreduce增减物理卷调整大小。
常用命令:
12345创建卷组 vgcreate VG_NAME /dev/sda1 使用物理卷创建卷组扩展卷组 vgextend VG_NAME /dev/sdb1 添加物理卷到卷组缩减卷组 vgre ...
常用Bash命令收集Linux
系统运维
最近更新日期: 2021-12-05
文章字数: 5.9k
阅读时长: 23 分
一、系统相关1. hostname - 查看主机名hostname命令用于查看系统的主机名,或是修改系统的主机名。
hostname的常用命令如下:
12345678# 显示系统的当前主机名hostname# 修改你系统的主机名hostname blinkfox-system# 使用 -F 选项,从指定的文件中读取主机名hostname -F /root/hostname.txt
2. uptime - 查看系统运行时间uptime命令用于打印系统的运行时间等信息。使用如下: ...
十大服务器配置 Bash 脚本确保服务器准备好应对生产或开发工作负载1. 基本服务器设置脚本 (Bash)该脚本安装更新、配置主机名并设置时区。
12345678910111213141516#!/bin/bash# 更新并升级服务器echo"正在更新服务器包..."sudo apt-get update -y && sudo apt-get upgrade -y# 设置主机名read -p "输入服务器的主机名: " HOSTNAMEsudo hostnamectl set-hostname $HOSTNAMEecho"127.0.1.1 $HOSTNAME" | sudo tee -a /etc/hosts# 设置时区read -p "输入您的时区 (例如 'America/New_York'): " TIMEZONEsudo timedatectl set-timezone $TIMEZONEecho"服务器设置完成!"
更新并升级所有包,确 ...
