10.21 crond定时任务练习
1.玩crond必須以下任務開啟
[root@wen ~]# chkconfig --list crond
crond? ? ? ? 0:off????????1:off????????2:on????????3:on????????4:on????????5:on????????6:off
[root@wen ~]# ps -ef |grep crond|grep -v grep
root ??????1643 ?????1 ?0 19:11 ? ???????00:00:00 crond
2.實戰練習:
??案例一:每隔2個小時將系統文件/etc/services文件打包備份到/tmp下(每次備份按時間生成不同的備份包)
2.1.命令行測試
2.1.1到目標內容的上級目錄打包
? ?[root@wen etc]# tar zcvf /tmp/service.tar.gz ./services
? ?./services
?2.1.2要打的包,前面是包名,后面是內容
[root@wen etc]# tar zcvf /tmp/service_$(date +%F-%H).tar.gz ./services
./services
?2.2.1在寫腳本里
a.寫腳本不要亂放,放到/server/scripts/下
b.壓縮包文件名添加時間時注意與定時任務執行時間一致且使用%要轉義,不然會出錯誤
cd /etc/ &&\
tar zcf /tmp/service_$(date +\%F-\%H).tar.gz ./services
2.2.2測試腳本例
?直接執行腳本沒有權限執行
[root@wen ~]# echo 'date +%F ' > /server/scripts/oldboy.sh
[root@wen ~]# /server/scripts/oldboy.sh
-bash: /server/scripts/oldboy.sh: 權限不夠
?但一般不用+x的方法
[root@wen ~]# chmod +x /server/scripts/oldboy.sh
[root@wen ~]# /server/scripts/oldboy.sh
2017-10-20
[root@wen ~]# chmod -x /server/scripts/oldboy.sh
測試腳本用/bin/sh
[root@wen ~]# /bin/sh /server/scripts/oldboy.sh
2017-10-20
相當于
[root@wen ~]# sh < /server/scripts/oldboy.sh
2017-10-20
2.3測試寫好的腳本
[root@wen scripts]# /bin/sh /server/scripts/del_file.sh
2,4.編輯定時任務
a.注釋,直接復制粘貼(shift +insert),減少錯誤
b.注意坑:整點,第一段是00,而默認的*代表每分鐘都執行
c.最后加上錯誤重定向?>/dev/null 2>&1
[root@wen scripts]#crontab -e
#data tar
00 */2 * * * /bin/sh /server/scripts/data_tar.sh >/dev/null 2>&1
2.5.1查看定時任務
[root@wen scripts]# crontab -l
#data tar
00 */2 * * * /bin/sh /server/scripts/data_tar.sh >/dev/null 2>&1
2.5.2查看執行情況日志,查看目錄
[root@wen scripts]# tail -f /var/log/cron
案列二:結合案列一,每天0點刪除前7天的文件
1.命令行測試,管道前后不用加空格
[root@wen tmp]# find /tmp/ -type f -name "*.tar.gz" -mtime +7|xargs rm -f
2.寫腳本
[root@wen scripts]# vim del_file.sh
???復制粘貼上面命令行的內容
3.測試腳本
[root@wen scripts]# /bin/sh /server/scripts/del_file.sh
?-x 查看腳本執行過程
[root@wen scripts]# /bin/sh -x /server/scripts/del_file.sh
+ xargs rm -f
+ find /tmp/ -type f -name '*.tar.gz' -mtime +7
4.寫定時任務,粘貼不要手敲
要寫注釋,最后要添加錯誤重定向,tar文件不要使用參數-v打印
[root@wen scripts]# crontab -e
#del_file
00 00 * * * /bin/sh /server/scripts/del_file.sh >/dev/null 2>&1
總結
以上是生活随笔為你收集整理的10.21 crond定时任务练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10.18.2 linux文件压缩与打包
- 下一篇: VMware linux 克隆机的配置