實現準備
# 需要備份文件路徑:/opt/apollo/logs/access_log[root@localhost opt]# cd apollo/[root@localhost apollo]# tree.├── logs│ └── access_log└── test.sh# 文件備份存放路徑:/tmp/logs# 備份文件加上時間戳date + %Y%m%d%H%M%S
1.編寫shell腳本
[root@localhost tmp]# vi /opt/apollo/test.sh# 編譯器# !/bin/bash# 日志備份到該目錄下,定義變量使用單引號mypath='/tmp/logs'# 回應/tmp/logsecho ${mypath}# 要備份的日志mylog='/opt/apollo/logs/access_log'# 回應/opt/apollo/logs/access_logecho ${mylog}# 時間戳,執行命令使用``,esc下面的time=`date +%Y%m%d%H%M%S`# 回應時間戳echo ${time}# 備份日志access_log到/tmp/logs路徑下cp ${mylog} ${mypath}/${time}_access.log# 回應echo ${mypath} ${mypath}/${time}_access.log
2.執行test.sh
[root@localhost apollo]# ./test.sh-bash: ./test.sh: Permission denied
3.執行ls -la
[root@localhost apollo]# ls -latotal 8drwxr-xr-x 2 root root 21 Jan 20 08:00 .drwxr-xr-x. 14 root root 4096 Jan 20 07:07 ..-rw-r--r-- 1 root root 489 Jan 20 08:00 test.sh
4.給文件test.sh賦與執行權限
[root@localhost apollo]# chmod +x ./test.sh[root@localhost apollo]# ls -latotal 8drwxr-xr-x 2 root root 21 Jan 20 08:00 .drwxr-xr-x. 14 root root 4096 Jan 20 07:07 ..-rwxr-xr-x 1 root root 489 Jan 20 08:00 test.sh
5.再次執行,腳本沒有報錯
[root@localhost apollo]# ./test.sh/tmp/logs/opt/apollo/logs/access_log20190120080932/tmp/logs /tmp/logs/20190120080932_access.log
6.編輯定時任務
[root@localhost logs]# crontab -eno crontab for root - using an empty onecrontab: installing new crontab
7.查看定時任務
# 每分鐘執行一次test.sh* * * * * sh /opt/apollo/test.sh
8.重啟crond
[root@localhost logs]# service crond reloadRedirecting to /bin/systemctl reload crond.serviceYou have new mail in /var/spool/mail/root
9.編寫文件access_log
# 需要備份文件路徑:/opt/apollo/logs/access_log# 編輯文件[root@localhost logs]# vi /opt/apollo/logs/access_log# 追加內容如下:mmmmmmmmmmmmmmmmmmmmm
10.過1分鐘,再去查備份存放目錄
[root@localhost logs]# cat 20190120083101_access.logdjddjsjsjsjjsjsjsjmmmmmmmmmmmmmmmmmmmmm
11.到此為止,定時備份任務完成.
恭喜你,學會備份了!
12.刪除定時任務
[root@localhost logs]# crontab -rYou have new mail in /var/spool/mail/root
13.查看定時任務
[root@localhost logs]# crontab -lno crontab for root
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答