Linux 定时删除旧档案

在 Linux 下有时会有一些暂存盘或日志档需要定时删除, 如果只要在特定目录下, 删除档名包含有指定字串的旧档案, 可以不用 Shell Script, 而直接在 crontab 用 find 指令完成 。 例如我想将 /var/www/html/tmp/ 目录下, 将所有超过 7 日的档案, 并以 “delname.log” 作为档案开头删除, 可以在 crontab 加上以一行, 先开启 crontab : …

Ubuntu 安装 Node.js

Node.js 是一个基于 Google V8 引擎的事件驱动 I/O 服务端。目的是为了提供撰写如 Web 服务的可扩充网络程序。Node.js 是以 JavaScript 为基础开发的新架构, 它可以让 JavaScript 在浏览器以外的地方执行。 以下会介绍在 Ubuntu 透过源码安装及 apt-get 安装的步骤: Ubuntu Repository 安装: 透过 Ubuntu 默认 Repository 安装的好处是简单, 但缺点是安装的版本会较旧。 …

Shell Script 检查变量字串长度

在 Shell Script 读取输入时, 很多时需要按字串的长度作出不同的处理, 而 Shell Scrit 检查变量的字串长度十分简单, 写法如下: 上面的程式码会检查用户输入的变量 “string”, 然后检查 string 变量的长度, 如果字串长度大过 10, 会显示 “Error!”, 并结束程式执行; 如果变量的字串长度等如或小于 10, 会继续执行。

Linux 目录结构

Linux 下的目录结构分工很仔细, 虽然初时接会很困惑, 但用久了反而会觉得十分清晰, 即使在不同的发行版下使用, 要习慢也很容易。以下是 Linux 下目录结构及内含的档案内容。 /boot : /boot 是一个独立的硬盘分割区, 用作储存 Linux 核心, Linux 核心设定档 (Config-x-x-x), initramfs 及 GRUB (boot loader). 当完成 BIOS 程序后, 会由 /boot 接手启动系统. …

wget 背景执行下载档案

wget 是在 CLI 下十分好用的下载工具, 如果遇到下载的档案很大, 或者下载速度很慢时, 可以用以下方法让 wget 在背景执行。 wget 已经内建背景执行的功能, 语法是: $ wget -bqc http://path-to-url/filename.iso 上面的 wget 指令加入了 -bqc 参数, 其中 b 代表 background, 即背景执行的意思。 另一个方法是用 nohup 指令, …

Ubuntu 安装设定 DenyHosts

DenyHosts 是一个防止暴力攻击 SSH Server 的工具, 它会监察及分析 SSH 的 log file, 当发现同一 IP 连续数次登入失败后, 就会将尝试登入的 IP 地址加入到 /etc/hosts 作出封锁。相比起 Fail2Ban, DenyHosts 的功能较简单, 只可以单一拦截 SSH 攻击, 而 Fail2Ban 的防护较全面, 可以透过正规表达式正义不同的 log …

locate 指令 – 快速搜寻档案

locate 指令是用作搜寻档案的工具, 相比起 find 指令, locate 搜索搜索更加快速, 因为 locate 指令不是从档案搜寻档案, 而是从updatedb 指令建立及更新的档案列表索引找出档案, 但这个方法的缺点是找不到最近建立的档案。 RHEL 及 CentOS 的最小安装没有包括 locate 在内, 要使用先要执行以下指令安装: # yum install mlocate # updatedb 例如要找出 php.ini 在那里, …

RHEL / CentOS 7 启动, 停止, 重新启动网络

当修改了网络设定后,只要重新启动网络便可以使新设定生效,而不需要重新启动系统。RHEL 及 CentOS 7 开始使用 systemd 管理服务, 要重新启动网络服务同样使用 systemctl 指令。而网络的 systemctl 名称是 network.service,只要使用 network.service 或 network 便可以像其他服务一样重启。 重新启动网络服务: # systemctl restart network.service 或 # systemctl restart network 启动网络服务: # …