定時任務的使用-crond


第1章 練習題

1.1 每天晚上 12 點,打包站點目錄/var/www/html 備份到/data 目錄下(最好每次備份按時間生成不同的備份包)

1.1.1 測試命令

[root@znix ~]# cd / && tar zcf /data/www_`date +%F`.tar.gz  var/www/html

1.1.2 寫入腳本中

[root@znix /]# cat /server/scripts/www.sh

cd / && tar zcf /data/www_`date +%F`.tar.gz  var/www/html

1.1.3 測試腳本

[root@znix ~]# sh /server/scripts/www.sh

1.1.4 寫入定時任務

[root@znix /]# crontab -l |tail -2

#### backup /var/www/html dir

00 00  * * *  /bin/sh  /server/scripts/www.sh >/dev/null 2>&1

1.1.5 檢查執行結果

[root@znix ~]# ll /data/

total 16

-rw-r--r--  1 root root 154 Sep 11 09:44 www_2017-09-11.tar.gz

1.2 每周 六、日 上午 9:00和下午 17 00 上班(執行程序/server/script/clsn.sh代替學習)

00 9,17 * * 0,6  /bin/sh /server/scripts/clsn.sh >/dev/null 2>&1

                     0表示周日

                     6表示周六

1.3 描述下列路徑的內容是做什么的。

/etc/sysctl.conf            系統內核的配置文件

/etc/rc.local               開機自啟動

/etc/hosts                  ip與域名的對應關系 ,解析主機名

/etc/fstab                  開機自動掛載

/var/log/secure             用戶登陸信息,主要查看其中的Failed

1.4 請說出下列 grep 正則表達式的含義

^         ...開頭的行

$         ...結尾的行

.(點號)    任意一個字符

\         在轉義字符  \n \t

*           前一個字符練習出現0次或1次以上

{n,m}       前一個字符連續出現,至少n,最多m

[^t]         取不包含t

^[^t]        以不是t的開頭

1.5  排除文件中的空行和空格

1.5.1 文件的內容

[root@znix ~]# cat -A mun.txt

znix1$

znix2$

znix3$

$

znix4$

      $

znix5$

      $

znix6$

1.5.2 egrep方法

找出空行  -v參數排除

[root@znix ~]# egrep -n "^ *$" mun.txt

4:

6:     

8:     

10:

14:

[root@znix ~]# egrep -n  "^$|^ +$" mun.txt

4:

6:     

8:     

10:

14:

1.5.3 awk方法

[root@znix ~]# awk '!/^[ ]*$/' mun.txt

znix1

znix2

znix3

znix4

znix5

znix6

1.6 passwd.txt 第一列取出來

1.6.1 文件內容

[root@znix ~]# cat passwd.txt

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

1.6.2 排除思想

[root@znix ~]# egrep "^[^:]+" passwd.txt  -o

root

bin

……

1.6.3 sed方法

[root@znix ~]# sed -r 's#(^.*)(:x.*:)(.*)#\3\2\1#g' passwd.txt

/bin/bash:x:0:0:root:/root:root

/sbin/nologin:x:1:1:bin:/bin:bin

……

排除不是以 :開頭的行

[root@znix ~]# sed -r 's#(^[^:]+)(.*:)(/.*$)#\3\2\1#' passwd.txt

/bin/bash:x:0:0:root:/root:root

/sbin/nologin:x:1:1:bin:/bin:bin

……

1.6.4 awk方法

awk中的變量:

-vOFS=":"

OFS 的內容就是 , 的內容

awk在顯示每一列內容的時候,每一列之間的分隔符

-v 修改和創建awk可以使用的變量

[root@znix ~]# awk -F: -vOFS=":" '{print $NF,$2,$3,$4,$5,$6,$1}' passwd.txt

/bin/bash:x:0:0:root:/root:root

/sbin/nologin:x:1:1:bin:/bin:bin

……

1.7 vi/vim命令、快捷鍵

 含義

命令

退出保存

:wq

退出並強制保存,!為強制的意思

:wq!

強制退出,不保存 

:q!

另存為

:q  /tmp/****

光標移動到文件的最后一行

G

光標移動到文件的第一行

gg

光標移動到文件的100

100gg 100G :100

從光標所在位置將光標移動到當前行的開頭

0  ^

從光標所在位置將光標移動到當前行的結尾

$

刪除當前行的內容

dd

刪除當前行到文件的最后一行的內容 

dG

刪除當前行到文件的第一行的內容

dgg

粘貼

p

粘貼10

10p

復制

yy

取消上一次的動作

u

刪除一行

dd

/ 搜索內容

繼續向下搜索              n

繼續向上搜索              N

向上搜索 

?

取消對找到的內容的高亮顯示

:noh

1.7.1 編輯services定位到第100行把這一行復制到文件的最后一行粘貼10次。

100gg

yy

G

10p

1.8 授權 clsn 目錄及其子目錄 755 的權限。

chmod -R 755 clsn

1.9 clsn 目錄及其子目錄的屬主改為 clsn,組改為 root

chown  clsn.lodboy clsn.txt

1.9.1 修改時可能發生的錯誤

[root@znix ~]# id clsn

uid=500(clsn) gid=501(incahome) groups=501(incahome)

[root@znix ~]# chown clsn.clsn clsn-new.txt

[root@ znix ~]# chown clsn.clsn num.txt

chown: invalid user: `clsn.clsn'

檢查clsn用戶是否存在,檢查clsn這個用戶組是否存在

1.10 描述下 umask 的作用.

umask管理着linux默認的權限

實例1-1 當umask為021時

file 權限為644

 666-021+001=644

dir 權限為 756

 777-021=756

1.11 每天打包備份 /etc/rc.local /etc/hosts /etc/services /backup目錄。

1.11.1 測試命令

root@znix ~]# cd / && tar zcf /backup/file`date +%F`.tar.gz  etc/rc.local  etc/hosts etc/services

  oot@znix /]# ll /backup/file2017-09-11.tar.gz

-rw-r--r-- 1 root root 127455 Sep 11 15:41 /backup/file2017-09-11.tar.gz

1.11.2 寫入腳本

[root@znix /]# cat /server/scripts/file.sh

cd / && tar zcf /backup/file`date +%F`.tar.gz  etc/rc.local  etc/hosts etc/services

1.11.3 測試腳本

[root@znix /]# sh /server/scripts/file.sh

[root@znix /]# ll /backup/file2017-09-11.tar.gz

-rw-r--r-- 1 root root 127455 Sep 11 15:44 /backup/file2017-09-11.t

[root@znix /]# cat /server/scripts/file.sh

1.11.4 寫入定時任務

### beifen zhongyaowenjan

00 00 * * * /bin/sh /server/scripts/file.sh >/dev/null 2>&1

1.11.5 測試定時任務

[root@znix ~]# date -s '23:59:29'

Mon Sep 11 23:59:29 CST 2017

[root@znix ~]# ll /backup/file2017-09-1*

-rw-r--r-- 1 root root 127455 Sep 11 15:44 /backup/file2017-09-11.tar.gz

-rw-r--r-- 1 root root 127455 Sep 12  2017 /backup/file2017-09-12.tar.gz

第2章 回顧課程

2.1 定時任務

每隔 2 個小時將/etc/services 文件打包備份到/tmp 下(最好每次備份成不同的備份包)

2.1.1 測試命令

[root@znix ~]# cd / && /bin/tar zcf /tmp/ser_`date +%F_%H`.tar.gz  etc/services

2.1.2 放入腳本中

[root@znix ~]# cat /server/scripts/ser.sh

cd / && /bin/tar zcf /tmp/ser_`date +%F_%H`.tar.gz  etc/services

2.1.3 測試腳本

[root@znix ~]# sh /server/scripts/ser.sh

2.1.4 寫入定時任務

[root@znix ~]# crontab -l |tail -2

#backup /etc/services

00 */2 * * * /bin/sh /server/scripts/bak-ser.sh >/dev/null 2>&1

2.1.5 檢查定時任務是否成功

1)是否打包成功,看看文件里面是否有追加的信息

2)查看定時任務日志 /var/log/cron

2.2 無法連接linux

2.2.1 道路是否通暢

ping ip地址

實例2-1 無法ping通的解決辦法:

服務器的ip地址是否正確

服務器網卡是否啟動,即ONBOOT是否為yes

系統網卡的配置

實例2-2 VMware相關的:

vmware-5個服務是否啟動

vmware配置-網卡是否連接

查看你vmware網卡的vmnet8 是否已經啟動

2.2.2 是否有人劫財劫色

查看 iptables selinux是否關閉

2.2.3 是否有人提供服務

實例2-3 22端口是否開啟

方法一: telnet 10.0.0.200 22

方法二: ss -lntup |grep 22

實例2-4 進程是否在運行

ps -ef |grep sshd

2.3 linux無法上網怎么辦

2.3.1 ping 域名

域名無法ping

[root@znix ~]# ping centos.nmtui.com

ping: unknown host centos.nmtui.com

2.3.2 ping  外網ip

可以ping

[root@znix ~]# ping 123.206.66.12

PING 123.206.66.149 (123.206.66.12) 56(84) bytes of data.

64 bytes from 123.206.66.149: icmp_seq=1 ttl=128 time=63.1 ms

64 bytes from 123.206.66.149: icmp_seq=2 ttl=128 time=60.5 ms

2.3.3 檢查dns配置文件

[root@znix ~]# cat /etc/resolv.conf

2.3.4 修改配置文件

修改完成重啟網卡,生效

[root@znix ~]# service network restart

Shutting down interface eth0:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface eth0:  Determining if ip address 10.0.0.201 is already in use for device eth0...

                                                           [  OK  ]

2.4 檢查一個軟件是否按照 rpm 相關

2.4.1 查詢某個軟件包是否安裝

[root@znix ~]# rpm -qa tree

tree-1.5.3-3.el6.x86_64

2.4.2 查詢軟件包里面的內容

[root@znix ~]# rpm -ql tree

/usr/bin/tree

/usr/share/doc/tree-1.5.3

/usr/share/doc/tree-1.5.3/LICENSE

/usr/share/doc/tree-1.5.3/README

/usr/share/man/man1/tree.1.gz

2.4.3 查詢某個命令屬於哪個軟件包

查詢的時候要使用絕對路徑

[root@znix ~]# rpm -qf `which crond` 

cronie-1.4.4-16.el6_8.2.x86_64

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM