扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
查看时区
创新互联自2013年起,是专业互联网技术服务公司,拥有项目网站制作、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元鹤壁做网站,已为上家服务,为鹤壁各地企业和个人服务,联系电话:18980820575
cat /etc/sysconfig/clock
设置时区
tzselect
timeconfig
cat /etc/sysconfig/clock ZONE=”Asia/Shanghai” — /usr/share/zoneinfo 下面的文件。 UTC=false — 硬件时钟是否为 UTC 或者说 GMT 时钟。 ARC=false — 如果是在 Alpha 机器上,则设置为 true 。
把硬件时钟设置为 UTC 的好处就是他能自动设置夏时制,缺点是,在安装有多重操作系统启动的机器上,在另外的操作 系统上时钟会错误。
Linux 的时钟设置文件为:/etc/localtime ,实际上这个文件是 /usr/share/zoneinfo 目录下对应文件的符号连接。 假设我们所处的地区位于上海,那么只要运行以下的命令就可以设置时区了。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Linux 启动时,其中的一个脚本(/etc/rc.d/rc.sysinit)会运行 /sbin/hwclock 程序,把当前的硬件时钟复制为系统 时间。hwclock 假定硬件时钟已经设置为本地时钟,除非带有 –utc 参数。脚本文件会读取 /etc/sysconfig/clock 文 件的设置,因此我们不需要修改脚本,直接修改这个配置文件就可以了,根据需要把其中的 UTC 行,设置为 true 或 者 false。
设置硬件时钟时,首先使用 date 命令(“date MMDDhhmmYYYY.ss”) 设置好系统时钟,然后使用 “/sbin/hwclock –systohc” 把硬件时钟设置为和当前系统时间一致。
如果你在某些应用下面的时间是错误的,那么你在运行 Red Hat Linux 5.0 或 5.1,解决的办法是建立 /usr/lib/zoneinfo 到 /usr/share/zoneinfo 的符号连接:
ln -s /usr/share/zoneinfo /usr/lib/zoneinfo
小结:时钟设置的问题本身比较简单,但是它涉及到几个基本的配置文件:
/etc/rc.d/rc.sysinit /etc/sysconfig/clock /etc/localtime /usr/share/zoneinfo时区的配置文件是/etc/sysconfig/clock。用tzselect命令就可以修改这个配置文件,根据命令的提示进行修改就好了。 但是在实际工作中,发现这种方式是不能够使得服务器上的时间设置马上生效的,而且使用ntpdate去同步时间服务器也不能够更改时间。即使你使用了date命令手工设置了时间的话,如果使用ntpdate去进行时间同步的话,时间又会被改动到原来的错误时区的时间。而生产的机器往往是非常重要的,不能够进行重启等操作。 在网上找了几种方法试了下,发现如果要修改时区并且马上生效,可以更换/etc/localtime 文件来实现。比如我的时区是中国上海,那么就可以使用如下的命令来使得时区的更改生效。 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 然后最好使用下面的命令将更改写入bios。
为什么备份?
一个备份计划对定期备份文件来说很有必要,如果你宁愿选择不备份,那么丢失重要数据的风险会大大增加。有了备份,你就有了从磁盘故障中恢复的能力。备份还可以帮助你抵御:意外的文件删除/文件或文件系统损坏/服务器完全毁坏,包括由于火灾或其他问题导致的同盘备份毁坏、硬盘或 SSD 崩溃、病毒或勒索软件破坏或删除文件、你可以使用磁带归档备份整个服务器并将其离线存储。
理解磁带文件标记和块大小
每个磁带设备能存储多个备份文件。磁带备份文件通过 cpio,tar,dd 等命令创建。同时,磁带设备可以由多种程序打开、写入数据、及关闭。你可以存储若干备份(磁带文件)到一个物理磁带上。在每个磁带文件之间有个“磁带文件标记”。这用来指示一个物理磁带上磁带文件的结尾以及另一个文件的开始。你需要使用 mt 命令来定位磁带(快进,倒带和标记)。
磁带上的数据是如何存储的
所有的数据使用 tar 以连续磁带存储格式连续地存储。第一个磁带归档会从磁带的物理开始端开始存储(tar #0)。接下来的就是 tar #1,以此类推。
Unix 上的磁带设备名
/dev/rmt/0 或 /dev/rmt/1 或 /dev/rmt/[0-127] :Unix 上的常规磁带设备名。磁带自动倒回。
/dev/rmt/0n :以无倒回为特征,换言之,磁带使用之后,停留在当前状态等待下个命令。
/dev/rmt/0b :使用磁带接口,也就是 BSD 的行为。各种类型的操作系统比如 AIX,Windows,Linux,FreeBSD 等的行为更有可读性。
/dev/rmt/0l :设置密度为低。
/dev/rmt/0m :设置密度为中。
/dev/rmt/0u :设置密度为高。
/dev/rmt/0c :设置密度为压缩。
/dev/st[0-9] :Linux 特定 SCSI 磁带设备名。
/dev/sa[0-9] :FreeBSD 特定 SCSI 磁带设备名。
/dev/esa0 :FreeBSD 特定 SCSI 磁带设备名,在关闭时弹出(如果可以的话)。
磁带设备名示例
/dev/rmt/1cn 指明正在使用 unity 1,压缩密度,无倒回。
/dev/rmt/0hb 指明正在使用 unity 0,高密度,BSD 行为。
Linux 上的自动倒回 SCSI 磁带设备名:/dev/st0
Linux 上的无倒回 SCSI 磁带设备名:/dev/nst0
FreeBSD 上的自动倒回 SCSI 磁带设备名:/dev/sa0
FreeBSD 上的无倒回 SCSI 磁带设备名:/dev/nsa0
如何列出已安装的 scsi 磁带设备?
输入下列命令:
### Linux(更多信息参阅 man) ###
lsscsi
lsscsi -g
### IBM AIX ###
lsdev -Cc tape
lsdev -Cc adsm
lscfg -vl rmt*
### Solaris Unix ###
cfgadm –a
cfgadm -al
luxadm probe
iostat -En
### HP-UX Unix ###
ioscan Cf
ioscan -funC tape
ioscan -fnC tape
ioscan -kfC tape
mt 命令示例
在 Linux 和类 Unix 系统上,mt 命令用来控制磁带驱动器的操作,比如查看状态或查找磁带上的文件或写入磁带控制标记。下列大多数命令需要作为 root 用户执行。语法如下:
mt -f /tape/device/name operation
设置环境
你可以设置 TAPE shell 变量。这是磁带驱动器的路径名。在 FreeBSD 上默认的(如果变量没有设置,而不是 null)是 /dev/nsa0。可以通过 mt 命令的 -f 参数传递变量覆盖它,就像下面解释的那样。
### 添加到你的 shell 配置文件 ###
TAPE=/dev/st1 #Linux
TAPE=/dev/rmt/2 #Unix
TAPE=/dev/nsa3 #FreeBSD
export TAPE
1:显示磁带/驱动器状态
mt status ### Use default
mt -f /dev/rmt/0 status ### Unix
mt -f /dev/st0 status ### Linux
mt -f /dev/nsa0 status ### FreeBSD
mt -f /dev/rmt/1 status ### Unix unity 1 也就是 tape device no. 1
你可以像下面一样使用 shell 循环语句遍历一个系统并定位其所有的磁带驱动器:
for d in 0 1 2 3 4 5
do
mt -f "/dev/rmt/${d}" status
done
2:倒带
mt rew
mt rewind
mt -f /dev/mt/0 rewind
mt -f /dev/st0 rewind
3:弹出磁带
mt off
mt offline
mt eject
mt -f /dev/mt/0 off
mt -f /dev/st0 eject
4:擦除磁带(倒带,在支持的情况下卸载磁带)
mt erase
mt -f /dev/st0 erase #Linux
mt -f /dev/rmt/0 erase #Unix
5:张紧磁带盒
如果磁带在读取时发生错误,你重新张紧磁带,清洁磁带驱动器,像下面这样再试一次:
mt retension
mt -f /dev/rmt/1 retension #Unix
mt -f /dev/st0 retension #Linux
6:在磁带当前位置写入 EOF 标记
mt eof
mt weof
mt -f /dev/st0 eof
7:将磁带前进指定的文件标记数目,即跳过指定个 EOF 标记
磁带定位在下一个文件的第一个块,即磁带会定位在下一区域的第一个块(见图01):
mt fsf
mt -f /dev/rmt/0 fsf
mt -f /dev/rmt/1 fsf 1 #go 1 forward file/tape (see fig.01)
8:将磁带后退指定的文件标记数目,即倒带指定个 EOF 标记
磁带定位在下一个文件的第一个块,即磁带会定位在 EOF 标记之后(见图01):
mt bsf
mt -f /dev/rmt/1 bsf
mt -f /dev/rmt/1 bsf 1 #go 1 backward file/tape (see fig.01)
这里是磁带定位命令列表:
fsf 前进指定的文件标记数目。磁带定位在下一个文件的第一块。
fsfm 前进指定的文件标记数目。磁带定位在前一文件的最后一块。
bsf 后退指定的文件标记数目。磁带定位在前一文件的最后一块。
bsfm 后退指定的文件标记数目。磁带定位在下一个文件的第一块。
asf 磁带定位在指定文件标记数目的开始位置。定位通过先倒带,再前进指定的文件标记数目来实现。
fsr 前进指定的记录数。
bsr 后退指定的记录数。
fss (SCSI tapes)前进指定的 setmarks。
bss (SCSI tapes)后退指定的 setmarks。
基本备份命令
让我们来看看备份和恢复命令。
9:备份目录(tar 格式)
tar cvf /dev/rmt/0n /etc
tar cvf /dev/st0 /etc
10:恢复目录(tar 格式)
tar xvf /dev/rmt/0n -C /path/to/restore
tar xvf /dev/st0 -C /tmp
11:列出或检查磁带内容(tar 格式)
mt -f /dev/st0 rewind; dd if=/dev/st0 of=-
### tar 格式 ###
tar tvf {DEVICE} {Directory-FileName}
tar tvf /dev/st0
tar tvf /dev/st0 desktop
tar tvf /dev/rmt/0 foo list.txt
12:使用 dump 或 ufsdump 备份分区
### Unix 备份 c0t0d0s2 分区 ###
ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s2
### Linux 备份 /home 分区 ###
dump 0uf /dev/nst0 /dev/sda5
dump 0uf /dev/nst0 /home
### FreeBSD 备份 /usr 分区 ###
dump -0aL -b64 -f /dev/nsa0 /usr
13:使用 ufsrestore 或 restore 恢复分区
### Unix ###
ufsrestore xf /dev/rmt/0
### Unix 交互式恢复 ###
ufsrestore if /dev/rmt/0
### Linux ###
restore rf /dev/nst0
### 从磁带媒介上的第6个备份交互式恢复 ###
restore isf 6 /dev/nst0
### FreeBSD 恢复 ufsdump 格式 ###
restore -i -f /dev/nsa0
14:从磁带开头开始写入(见图02)
### 这会覆盖磁带上的所有数据 ###
mt -f /dev/st1 rewind
### 备份 home ###
tar cvf /dev/st1 /home
### 离线并卸载磁带 ###
mt -f /dev/st0 offline
从磁带开头开始恢复:
mt -f /dev/st0 rewind
tar xvf /dev/st0
mt -f /dev/st0 offline
15:从最后一个 tar 后开始写入(见图02)
### 这会保留之前写入的数据 ###
mt -f /dev/st1 eom
### 备份 home ###
tar cvf /dev/st1 /home
### 卸载 ###
mt -f /dev/st0 offline
16:从 tar number 2 后开始写入(见图02)
### 在 tar number 2 之后写入(应该是 2+1)###
mt -f /dev/st0 asf 3
tar cvf /dev/st0 /usr
### asf 等效于 fsf ###
mt -f /dev/sf0 rewind
mt -f /dev/st0 fsf 2
从 tar number 2 恢复 tar:
mt -f /dev/st0 asf 3
tar xvf /dev/st0
mt -f /dev/st0 offline
关于第三方备份工具
Linux 和类Unix系统都提供了许多第三方工具,可以用来安排备份,包括磁带备份在内,如:
Amanda
Bacula
rsync
duplicity
rsnapshot
linux系统和windows系统的区别:
Windows下可以运行绝大部分的游戏,硬件厂商近乎100%的支持,linux下可直接运行的软件数量,和win比起来就是1和99的区别,选择linux的人基本不会考虑玩游戏,同时linux正期待更多硬件厂商的支持;
linux安全性高,windows的漏洞、病毒、木马、后门出现频录比较高,windows放弃了dos的字符模式,主攻图形界面,让桌面系统更易用,linux字符模式运行的更好,图形界面还只是附带品;
无论按照什么标准对Windows和Linux进行评估,都存在一定的问题:每个操作系统都不止一个版本。
请看man ln
-s = soft,意为软链接
-f = force,表示强制创建(使用前请备份之前存在文件)
1)使用lsof命令
lsof是一个非常强大的linux工具,她被用来查找哪些程序使用了那些文件。在linux系统下,基本上所有的东西都可以被当作文件来用。socket当然也是一种文件了。所以lsof可以用来查找谁用了某一个端口。具体方法:
lsof -i :port_number |grep "(LISTEN)"
-i是用来查找和网络相关的文件,":"号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要查找是否 有程序占用了oracle的监听端口1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已经占用了,那么下面打印的第二个字段就是该程序的进程id,第一个字段是进程的名字。
如果只有losf -i :port_number可能会查到很多应用程序,但这些程序实际并没有占用你指定的端口,这些端口只是连接到本机器或者别的机器的该端口。所以要grep "(LISTEN)“,因为一个端口只可能被一个程序占用的,所以这种方法是可靠的。
2)使用netstat 命令
大家一定对这个命令比较熟悉了,可能你从没有想到用到来查找哪一个程序的占用了指定的端口。但是netstat -an 的确提供了这种功能。所以有问题了一定要想到先去查找man手册,不过说实话,某些man手册写得让中国人看不懂,那没有办法了,就googe或者 baidu一下吧。
执行man netstat命令,你会发现netstat 提供了'-p'的选项,这个选项的功能是告诉你哪个程序占用了该端口,但是她提供的形式比较古怪是以pid/process_name提供的。pid当然 是进程id了,process_name是进程的命令,中间以'/'号分隔。
和上面的原因一样,我们只查找listen的端口,netstat 给我们提供了-l的选项,这个选项不是默认的选项。
下面以1521端口来看怎么查找到该程序,我们使用下面的命令:
netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'
在这里使用awk来匹配第4个字段的模式是为了避免误判。
以上内容转载自百度知道。如果需要对Linux进行系统深入的学习,可以参考如下书籍《Linux就该这么学》
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流