查看是否64位
$su - root
#file /sbin/init
查看liunx版本
cat /proc/version
-----------------------------------
设置系统编码
/etc/profile
最后加上:
export LC_ALL="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
然后 source /etc/profile
--------------卸载已经安装的jdk-------------------------
首先,在终端中输入“rpm -qa|grep gcj”,查看gcj的版本号,在这里得到的结果是:
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
libgcj-4.1.2-48.el5
其次,卸载系统自带jdk。在终端中输入
“yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115”,然后等待,等待系统卸载完自带的jdk。最终在终端中显示“Complete!”,卸载完成。
===============检测Linux服务器开放了哪些端口====================
前言:
常常看到有些人想要知道自己的Linux主机到底开放了多少Port?要如何来检测呢。通常我们知道的Port有下面这几个:
* ftp:21
* telnet:23
* smtp:25
* http:80
* pop-3:110
* netbios-ssn:139
* squid:3128
* mysql:3306
端口当然不只这些个,如何知道Port是否被开启呢?
检测你开启的服务有哪些?使用功能强大的 netstat 指令。
在做为服务器的Linux系统中,服务项目是越少越好!这样可以减少避免不必要的入侵通道。要了解自己的系统当中的服务项目,最简便的方法就是使用nestat 了!这个命令不但简单(是每一个Linux系统都会安装的套件!),而且功能也是很不错的,例如我们在检查WWW使用者的人数时,就很需要这个命令!好了,我们来看一下netstat 的使用方法:
复制内容到剪贴板
代码:
[root@localhost ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address Stat e
tcp 0 0 ::ffff:192.168.1.178:ssh ::ffff:192.168.1.175:4235 ESTA BLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 10 [ ] DGRAM 4701 /dev/log
unix 2 [ ] DGRAM 5846 @/var/run/hal/hotplug_s ocket
unix 2 [ ] DGRAM 2901 @udevd
unix 3 [ ] STREAM CONNECTED 5845 /var/run/dbus/system_bu s_socket
unix 3 [ ] STREAM CONNECTED 5844
unix 3 [ ] STREAM CONNECTED 5792 /var/run/dbus/system_bu s_socket
unix 3 [ ] STREAM CONNECTED 5791
unix 3 [ ] STREAM CONNECTED 5724
unix 3 [ ] STREAM CONNECTED 5723
如上所示,单纯使用 netstat 的时候,仅 列出目前已经连通的服务与服务名称。所以你可以看到,由于目前仅有一个ssh连接成功,所有就只显示出一个 ESTABLISHED(连接中的意思)。 上面的 :
复制内容到剪贴板
代码:
tcp 0 0 ::ffff:192.168.1.178:ssh ::ffff:192.168.1.175:4235
这一行表示有一个SSH的服务开放,是由远端的 192.168.1.175这个IP连接到 192.168.1.178 的。而连接的端口是4235。那如果我需要将所有的项目列出来呢?
复制内容到剪贴板
代码:
[root@localhost ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address Stat e
tcp 0 0 *:32768 *:* LIST EN
tcp 0 0 *:sunrpc *:* LIST EN
tcp 0 0 *:auth *:* LIST EN
tcp 0 0 localhost.localdomain:ipp *:* LIST EN
tcp 0 0 localhost.localdomain:smtp *:* LIST EN
tcp 0 0 *:ssh *:* LIST EN
tcp 0 0 ::ffff:192.168.1.178:ssh ::ffff:192.168.1.175:1237 ESTA BLISHED
udp 0 0 *:32768 *:*
udp 0 0 *:955 *:*
udp 0 0 *:sunrpc *:*
udp 0 0 *:ipp *:*
如上所示,加入 -a(all)就可以了。将所有在机器上 (监听 Listem)或者是(已建立连接的)的服务通通列出的意思。不过,服务的名称已经使用 /etc/services 里面的名称了,而不是使用 port 的数字!目前我主机上面的服务共开放了:sunrpc、auth、ssh、ipp、smtp.等服务(就是 Listen的那几个服务)至于已经建立的服务就只有 SSH 这一个!那如果我想知道开放了哪些端口号呢?呵呵,就使用下面的命令吧!
复制内容到剪贴板
代码:
[root@localhost ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:113 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 52 ::ffff:192.168.1.178:22 ::ffff:192.168.1.175:1237 ESTABLISHED
udp 0 0 0.0.0.0:32768 0.0.0.0:*
udp 0 0 0.0.0.0:955 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
如上所示,我接通的服务只有22这一个,而其它的你可以参照上面的命令输出结果来对照,所以你就可以知道:smtp为25端口。因此,通过使用此命令,就可以轻易的子解目前主机的运作状况与服务状态了。当然了,netstat的用途不止于此,你可以使用 man netstat 来查阅一番喔!相信对你的主机会有更大的了解。
相信有不少的朋友都会有这个困扰,就是要怎样删除已经建立的联机呢?因为总有些不速之客会连到您的主机来进行一些破坏的工作!或者是您根本不想让对方联机过来!呵呵!还记得 鸟哥的 Linux 私房菜--基础学习篇内的资源管理 里面提到的几个常用的指令吧!?那就是找出那个联机程序的 PID ,然后给他 kill 掉就是了!简单呀!不过,大问题是『我要怎样找出联机的 PID 呀!?』呵呵!由于 PID 的管理与整体的系统资源有关,这个时候,虽然可以使用 netstat 来观察 PID ,不过只有 root 可以观察到联机状态的 PID 号码呦!( 注:还记得资源管理提及的 PID 概念吗?就是说,在 Linux 系统之内,每个『程序』系统都会给予一个号码来管理!这个就是 PID 啰!)
复制内容到剪贴板
代码:
[root@test root]# netstat -ap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:ssh *:* LISTEN 32149/sshd
tcp 0 284 140.116.141.19:ssh 192.168.1.11:1391 ESTABLISHED 24751/sshd
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 7 [ ] DGRAM 944 509/syslogd /dev/log
unix 2 [ ] DGRAM 3035915 16648/xinetd
unix 2 [ ] DGRAM 739227 5951/pppoe
unix 2 [ ] DGRAM 739189 5949/pppd
unix 2 [ ] DGRAM 1070 628/crond
unix 2 [ ] DGRAM 953 514/klogd
unix 2 [ ] STREAM CONNECTED 690 1/init [3]
看到上面那个斜体字的联机建立的网络状态了吗?嘿嘿!最后面一栏就是显示那个 PID/Program name ,那个 PID ( 上面是 24751 )也就是我们要来砍掉的啦!这个时候,如果要将该联机砍掉时,就直接以 kill 来做吧!
复制内容到剪贴板
代码:
[root@test root]# kill -9 24751
这样就能将该联机给他『踢出去』您的主机啦!! ^_^""
======================================================
1. 查看内核版本命令:
1) [root@q1test01 ~]# cat /proc/version
Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005
2) [root@q1test01 ~]# uname -a
Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux
3) [root@q1test01 ~]# uname -r
2.6.9-22.ELsmp
2. 查看linux版本:
1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:
# lsb_release -a
LSB Version: :core-3.0-amd64:core-3.0-ia32:core-3.0-noarch:graphics-3.0-amd64:graphics-3.0-
ia32:graphics-3.0-noarch
Distributor ID: RedHatEnterpriseAS
Description: Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
Release: 4
Codename: NahantUpdate2
注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。
2) 登录到linux执行cat /etc/issue,例如如下:
# cat /etc/issue
Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
Kernel \r on an \m
3) 登录到linux执行cat /etc/redhat-release ,例如如下:
# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
注:这种方式下可以直接看到具体的版本号,比如 AS4 Update 1
4)登录到linux执行rpm -q redhat-release ,例如如下:
# rpm -q redhat-release
redhat-release-4AS-3
cpu信息
cat /proc/cpuinfo
===================安装crontab===============
crontab是Linux系统下的定时运行程序,非常有用,一般系统都自带。这里系统是CentOS5.7。
如果没有的话要先安装:
yum install vixie-cron crontabs
1、crontab用法
一般格式:
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
常用选项:
-u :指定使用的用户。
-e :编辑该用户的定时任务。
-l :列出该用户的定时任务。
-r :删除该用户的定时任务。
-i :删除该用户定时任务时给予提示。
-s :附加SELinux security context string控制访问。
编辑本用户的定时任务:
crontab -e
2、crontab格式
基本格式:
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
3、crontab文件举例:
10 7 * * 4 /home/test.sh
每周4的7:10执行/home/test.sh脚本。
0 23 1 * * /etc/init.d/httpd restart
每月1日23:00重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18:00至23:00之间每隔30分钟重启lighttpd。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启lighttpd。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4:45重启lighttpd。
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启lighttpd。
4、加入开机自动启动:
chkconfig --level 345 crond on
5、
用户执行crontab -e的内容是写在/var/spool/cron/目录内。
6、在/etc下有:
cron.daily
cron.hourly
cron.monthly
cron.weekly
这四个目录,预设了每小时、每天、每周以及每个月的定时任务。可以把要执行的命令写在脚本里仍到相应的目录中。
7、/etc/crontab配置文件:
1)可以直接把定时任务写在该文件内,格式为:
分 时 日 月 周 用户名 命令
例如:
30 2 * * * root /etc/init.d/httpd restart
PS:crontab内的命令要写绝对路径。
2)MAILTO=root是用于crontab执行后发邮件到root的邮箱,路径是/var/spool/mail。
可以把MAILTO后的值改成自己的邮箱。
8、/etc/cron.allow和/etc/cron.deny文件用于限制使用crontab的用户。
9、VPS上执行crontab -e时出错:
/bin/sh: /bin/vi: No such file or directory
crontab: "/bin/vi" exited with status 127
是因为默认编辑器没有设置:
vim /etc/profile
在最后加入:
EDITOR='vim'
export EDITOR
10、crontab日志文件路径:
/var/log/cron
11、crontab设置好后要重启crond服务,使设置生效:
service crond restart
参考资料:
http://www.live-in.org/archives/1028.html
http://kangxiaowei.com/archives/8247.html
============我增加nginx 日志按天分开===============
[root@uhz001691 03]# more /usr/local/nginx/sbin/log_by_day.sh
#!/bin/bash
# 请将当前脚本的运行时间设置成 00:00
# 这里是日志保存路径
logs_path="/data/nginx/logs/"
#分割日志
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}error.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/error_$(date -d "yesterday" +"%Y%m%d").log
#重启nginx
/usr/local/nginx/sbin/nginx -s reload
-----------------
conf/ conf.zip
[root@uhz001691 03]# more /usr/local/nginx/conf/nginx.conf
#user nginx;
user nobody nobody;
worker_processes 1;
error_log /data/nginx/logs/error.log;
#error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /usr/local/nginx/conf/mime.types;
default_type application/octet-stream;
include /usr/local/nginx/conf/config/proxy.conf;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
##access_log /var/log/nginx/access.log main;
access_log /data/nginx/logs/access.log main;
-------------加入任务---------------
crontab -e
输入
00 00 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh
执行
/sbin/service crond restart
分享到:
相关推荐
【系统级别内核 LINUX内核 微系统】深入解析 Linux内核是开源且免费的操作系统核心,由林纳斯·托瓦兹于1991年首次发布。它遵循POSIX标准,允许跨平台的兼容性和互操作性。随着时间的推移,Linux内核经历了多次重大...
总结,通过Qt 4.8.5,我们可以利用`QDateTime`和`QProcess`类来获取和设置Linux系统的日期和时间,以及管理时区。在进行这些操作时,理解Linux的命令行工具和权限管理是非常重要的。同时,要确保代码的安全性和用户...
利用Java代码设置Linux系统时间。设置时间精确到毫秒级别。
本文将深入探讨Linux系统如何进行硬件配置,包括硬盘分区、硬件设备的命名规则以及配额管理。 首先,Linux将硬盘视为一个文件系统,允许用户自定义硬盘的配置。硬盘分区是Linux系统安装的重要步骤。Linux支持MBR...
在传统的Linux系统中,初始化进程会读取`/etc/inittab`文件中的配置来确定系统的默认运行级别。 - **查看当前运行级别**:可以通过命令`runlevel`来查看当前系统处于哪个运行级别。 - **切换运行级别**:使用命令`...
8. **网络配置**:Linux系统管理也包括网络配置,如IP地址、子网掩码、网关的设置,DNS解析,以及网络服务(如HTTP、FTP)的配置和管理。 9. **日志管理和故障排查**:日志文件是诊断系统问题的重要工具。PPT会介绍...
Linux系统程序设计是计算机科学与技术中的一项重要技能,尤其在开源领域具有极高的实用价值和广泛应用。海同的内部培训教材系统性地介绍了Linux系统编程的各个重要方面,旨在帮助初学者和有一定基础的开发者能够理解...
Linux系统服务器配置与管理是一项涉及安装、设置、维护Linux操作系统和其中的服务器软件,以便为用户提供网络服务的基础技能。服务器配置包括操作系统的安装、内核参数的调整、文件系统的格式化与挂载、网络服务的...
Linux系统安全设置是Linux系统安全中的一方面。管理员可以通过设置BIOS、加密文件系统、防火墙等方式来提高Linux系统的安全性。BIOS是为计算机提供最低层、最直接的硬件设置和控制。为防范不法用户或黑客通过改变...
在Linux系统中,`/etc/inittab` 和 `/boot/grub/grub.conf` 是两个至关重要的配置文件,它们分别负责初始化进程的运行级别设置和引导加载器的配置。 1. **/etc/inittab** - **格式**:`id:run-levels:action:...
在Linux系统中,用户登录环境的配置是通过一系列的配置文件来实现的,这些文件定义了用户登录后的软件环境,包括命令别名、环境变量、键盘设置等。下面将详细介绍这些重要的Shell环境配置文件及其作用。 1. **/etc/...
Linux 系统中,file-max 命令用于设置系统级别的能够打开的文件句柄的数量,这个值决定了 Linux 内核可以分配的文件句柄的最大数量。当系统中的文件句柄数量达到这个值时,系统将不能再打开新的文件句柄,从而导致...
root用户是Linux系统中的超级用户,拥有最高级别的权限,可以执行任何系统级别的操作,包括安装软件、配置系统等。然而,由于其权限过大,日常使用应避免以root身份登录,以免误操作导致系统损坏。 在Linux系统中,...
linux安装的基本知识,1 认识linux的操作系统 2 理解linux体系结构 3 认识linux的版本 认识linux的启动过程和运行级别 5 linux的登录与退出
### 知识点一:Linux系统安全概述 在《Practical Linux Security Cookbook》这本书中,作者Tajinder Kalsi深入探讨了Linux系统的安全性问题。Linux作为一种广泛使用的开源操作系统,在服务器、嵌入式设备以及桌面...
- **RAID配置**:通过特定按键(如Ctrl+H)进入RAID配置界面,选择适配器并进行RAID级别设置。 - **操作系统安装**:完成RAID配置后,启动Linux安装介质,按照提示完成操作系统的基本安装。 #### 1.5 配置安全策略 ...
【Linux系统中串口的配置教程】 在Linux操作系统中,串口通信是一种基本的设备交互方式,常用于调试、远程访问或在没有图形界面的情况下提供控制台访问。本教程将详细讲解如何配置Linux中的串口控制台以及使用...
在IT领域,Linux系统因其开源、稳定和可定制性而被广泛应用。然而,在特定场景下,如嵌入式设备或资源有限的环境,可能需要对Linux系统进行裁减以适应硬件限制,提高运行效率。本篇文章将深入探讨Linux系统裁减的...
从给定的文件信息中,我们可以提炼出一系列与Linux系统管理相关的知识点,这些知识点涵盖了Linux系统的基本架构、关键组件以及管理技巧。以下是基于文件信息详细展开的知识点: ### Linux系统概述 - **操作系统的...