當前位置:首頁 » 網頁前端 » 腳本事件日誌
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

腳本事件日誌

發布時間: 2022-09-14 01:45:03

㈠ crontab 的定時任務執行的腳本,有辦法把執行情況生成日誌嗎

1、針對Linux系統的查詢方法(含Redhat、SUSE)
看 /var/log/cron這個文件就可以,可以用tail -f /var/log/cron觀察
配圖為系統aix root用戶默認的crontab

2、針對UINX系統查詢方法(AIX、HP-UX)
在 /var/spool/cron/tmp文件中,有croutXXX00999的tmp文件,tail 這些文件就可以看到正在執行的任務了。

3. mail任務(Linux UNIX)在 /var/spool/mail/root 文件中,有crontab執行日誌的記錄,用tail -f /var/spool/mail/root 即可查看最近的crontab執行情況。

注意事項
其實最簡單的方法還有將crontab的任務執行採用累加的方式輸出到一個日誌中
注意crontab里定時執行的腳本有足夠的許可權,如未正常執行,需要常看其日誌

㈡ 使用inotifywait工具編寫一個腳本並將事件寫入日誌的問題,求幫忙解答!謝謝!

畢業論文需要求某企業或公司或校各行各業網路入侵檢測實例都行要求能寫具體程1000字左右行自寫更答快我再加100謝謝家急
編寫監控腳本使用inotifywait工具檢測目錄/opt變情況包括刪除、新增、修改、移事件現刪除操作記錄刪除目錄位置名稱並追加志文件/var/log/delete.log

㈢ 如何用語句查詢到剛剛執行的.sql腳本的SqlServer日誌

1、Lumigent Log Explorer for SQL Server v4.0.2 特別版下載地址
http://down.chinaz.com/soft/7887.htm
Log Explorer for SQL Server 4.2 注冊碼
wv5rc-uxvpz-e33-nr4694qs2

2、Log Explorer for SQL Server v4.0.2
安裝完畢後,注冊該程序(壓縮文件有注冊機)
打開log explorer file=>attach log file->選擇伺服器和登陸方式->connect->
選擇資料庫->attach->左面對話框中browse->view log->就可以看到log記錄了
點擊「View DDL Commands」裡面就有很多drop table 命令
點擊下面的「undo」按鈕是生成表結構的語句(create table ....)
點擊下面的「Salvage」按鈕是生成插入語句的(insert into ...values....)
想恢復的話: 右鍵log記錄 undo transation->選擇保存文件名和路徑->然後打開該文件到查詢分析器里執行T-sql代碼就可以了

例如 如果log是delete table where ...的話,生成的文件代碼就是insert table ....

log explorer使用的幾個問題
1)、對資料庫做了完全、差異和日誌備份
備份時選用了刪除事務日誌中不活動的條目
再用Log explorer打試圖看日誌時
提示No log recorders found that match the filter,would you like to view unfiltered data
選擇yes,就看不到剛才的記錄了
如果不選用了刪除事務日誌中不活動的條目
再用Log explorer打試圖看日誌時,就能看到原來的日誌
2)、修改了其中一個表中的部分數據,此時用Log explorer看日誌,可以作日誌恢復
3)、然後恢復備份,(注意:恢復是斷開log explorer與資料庫的連接,或連接到其他數據上,
否則會出現資料庫正在使用無法恢復)
恢復完後,再打開log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data
選擇yes,就看不到剛才在2中修改的日誌記錄,所以無法做恢復.
4)、不要用SQL的備份功能備份,搞不好你的日誌就破壞了.
正確的備份方法是:
停止SQL服務,復制數據文件及日誌文件進行文件備份.
然後啟動SQL服務,用log explorer恢復數據
5)、如果你的資料庫的日誌恢復模型是simple,那就不可能用log explorer恢復
6)、Log explorer必須安裝在要恢復資料庫的sql server伺服器上,或者在sql server伺服器上安裝服務端,在操作的電腦上安裝客戶端進行數據恢復

3、如果數據量比較大的話,使用磁帶機和集群的話,安裝了正版的VERITAS ,恢復數據是比較好的方法。
下面是該軟體重要的新功能:
1)、災難恢復演習(Disaster Recovery Fire Drill)--能夠自由測試、規劃和檢驗災難恢復計劃,而不會中斷生產過程。
2)、集群模擬器(Cluster Simulator)--可測試應用故障切換方案,以驗證應用的可用性,確認應用是否根據計劃的故障切換策略和應用需求,遷移到最適當的伺服器。
3)、全局集群選件(Global Cluster Option)--當可用性要求從本地遷移到廣域災難恢復時,能夠快速、輕松地升級到任何體系結構。
4)、即時訪問復制數據--在復制數據的同時,能夠即時訪問數據,只佔用客戶的部分可用存儲容量。
5)、卷復制顧問工具(Volume Replicator Advisor)--准確地分析帶寬需求,確保應用得到優化。

4、幾點恢復數據心得:
1)、平時需要做好雙機熱備份,日備份,月備份,年備份,數據復制,異常記錄等工作,在數據丟失的情況下才能做到心中不急。
2)、如果硬碟損害錯誤,或者誤刪除資料庫的時候,可以考慮用Easyrecovery或者Recover4all等軟體恢復刪除或者受到損害的文件,再恢復數據。
3)、如果實在遇到自然因素,網路又斷開了復制操作的情況下,建議只有手工"造取"一批數據出來彌補丟失數據,一般選取類似緯度(如時間、區域等)的數據。

㈣ 如何使用syslog將腳本運行日誌寫入到指定文件

1 syslogd的配置文件
syslogd的配置文件/etc/syslog.conf規定了系統中需要監視的事件和相應的日誌的保存位置
cat /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages #除了mail/news/authpriv/cron以外,將info或更高級別的消息送到/var/log/messages,其中*是通配符,代表任何設備;none表示不對任何級別的信息進行記錄
# The authpriv file has restricted access.
authpriv.* /var/log/secure #將authpirv設備的任何級別的信息記錄到/var/log/secure文件中,這主要是一些和認證,許可權使用相關的信息.
# Log all the mail messages in one place.
mail.* -/var/log/maillog #將mail設備中的任何級別的信息記錄到/var/log/maillog文件中, 這主要是和電子郵件相關的信息.
# Log cron stuff
cron.* /var/log/cron #將cron設備中的任何級別的信息記錄到/var/log/cron文件中, 這主要是和系統中定期執行的任務相關的信息.
# Everybody gets emergency messages
*.emerg * #將任何設備的emerg級別或更高級別的消息發送給所有正在系統上的用戶.
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler #將uucp和news設備的crit級別或更高級別的消息記錄到/var/log/spooler文件中.
# Save boot messages also to boot.log
local7.* /var/log/boot.log #將和本地系統啟動相關的信息記錄到/var/log/boot.log文件中.

2. syslogd語法
該配置文件的每一行的格式如下:
facility.priority action 設備.級別 動作

3. Syslogd設備欄位
設備欄位用來指定需要監視的事件.它可取的值如下:
authpriv cron daemon kern lpr syslog user uucp mail news
報告認證活動通常,口令等私有信息不會被記錄 報告與cron和at有關的信息 報告與xinetd有關的信息 報告與內核有關的信息 報告與列印服務有關的信息 由syslog生成的信息 報告由用戶程序生成的任何信息由UUCP生成的信息 報告與郵件服務有關的信息 報告與網路新聞服務有關的信息

4. syslogd級別欄位
級別欄位用於指明與每一種功能有關的級別和優先順序:
alert crit err warning notice info debug none * emerg
需要立即引起注意的情況 危險情況的警告 除了emerg,alert,crit的其他錯誤 警告信息需要引起注意的情況 值得報告的消息 由運行於debug模式的程序所產生的消息 用於禁止任何消息 所有級別,除了none 出現緊急情況使得該系統不可用

5. syslogd動作欄位
動作欄位用於描述對應功能的動作
file username device @hostname
指定一個絕對路徑的日誌文件名記錄日誌信息 發送信息到指定用戶,*表示所有用戶 將信息發送到指定的設備中,如/dev/console將信息發送到可解析的遠程主機hostname,且該主機必須正在運行syslogd並可以識別syslog的配置文件

6. 查看日誌文件
常見的日誌文件日誌文件通常存放在/var/log目錄下.在該目錄下除了包括syslogd 記錄的日誌之外,同時還包含所有應用程序的日誌. 為了查看日誌文件的內容必須要有root許可權.日誌文件中的信息很重要,只能讓超級用戶有訪問這些文件的許可權.

7. log
cups/ httpd/ mail/ news/ boot.log dmesg maillog messages secure wtmp
存儲CUPS列印系統的日誌目錄 記錄apache的訪問日誌和錯誤日誌目錄 存儲mail日誌目錄 存儲INN新聞系統的日誌目錄 記錄系統啟動日誌記錄系統啟動時的消息日誌 記錄郵件系統的日誌 由syslogd記錄的info或更高級別的消息日誌 由syslogd記錄的認證日誌 一個用戶每次登錄進入和退出時間的永久記錄

8. 查看文本日誌文件
絕大多數日誌文件是純文本文件,每一行就是一個消息.只要是在Linux下能夠處理純文本的工具都能用來查看日誌文件.可以使用 cat,tac, more,less,tail和grep進行查看文件中每一行表示一個消息,而且都由四個域的固定格式組成: 時間標簽(Timestamp):表示消息發出的日期和時間. 主機名(Hostname):表示生成消息的計算機的名字. 生成消息的子系統的名字:可以是"Kernel",表示消息來自內核或者 是進程的名字,表示發出消息的程序的名字. 在方括弧里的是進程的PID. 消息(Message),即消息的內容.
syslog發出的消息,說明了守護進程已經在 Dec 16,03:32:41 重新啟動了. Dec 16 03:32:41 cnetos5 syslogd 1.4.1: restart. # 在 Dec 19,00:20:56 啟動了內核日誌 klogd Dec 19 00:20:56 cnetos5 kernel: klogd 1.4.1, log source = /proc/kmsg started. # 在 Dec 19,00:21:01 啟動了xinetd Dec 19 00:21:01 cnetos5 xinetd[2418]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.

9. 查看非文本日誌文件Lastlog
也有一些日誌文件是二進制文件,需要使用相應的命令進行讀取.
使用lastlog命令來檢查某特定用戶上次登錄的時間,並格式化輸出上次登錄日誌 /var/log/lastlog 的內容
rpc **從未登錄過** rpcuser **從未登錄過** sshd **從未登錄過** pcap **從未登錄過** haldaemon **從未登錄過** xfs **從未登錄過** gdm **從未登錄過** boobooke **從未登錄過** baobao pts/1 192.168.1.2 三 11月 26 12:44:32 +0800 2008 abc **從未登錄過** test pts/1 192.168.1.5 四 11月 27 17:30:53 +0800 2008 test01 **從未登錄過**
last命令往回搜索/var/log/wtmp來顯示自從文件第一次創建以來登錄過用戶
root pts/1 116.226.69.195 Fri Aug 31 15:48 - 18:37 (02:49)

10. 查看非文本日誌文件lastb
lastb命令搜索/var/log/btmp來顯示登錄未成功的信息.
root ssh:notty 222.143.27.97 Thu Sep 6 19:43 - 19:43 (00:00)

11. 查看非文本日誌文件who
who命令查詢wtmp文件並報告當前登錄的每個用戶.who命令的預設輸出包括用戶名,終端類型,登錄日期及遠程主機.
[root@server ~]# who
root pts/0 2012-09-08 10:18 (116.226.69.195)
[root@server ~]# w
10:41:31 up 212 days, 20:19, 1 user, load average: 0.21, 0.16, 0.14
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 116.226.69.195 10:18 0.00s 0.09s 0.00s w

12.日誌滾動
為什麼使用日誌滾動所有的日誌文件都會隨著時間的推移和訪問次數的增加而迅速增長,因此必須對日誌文件進行定期清理以免造成磁碟空間的不必要的浪費.同時也 加快了管理員查看日誌所用的時間,因為打開小文件的速度比打開大文件的速度要快.
Logrotate 其命令格式為: logrotate [選項] <configfile>
-d:詳細顯示指令執行過程,便於排錯或了解程序執行的情況.
-f:強行啟動記錄文件維護操作,即使logrotate指令認為無需要亦然 -m command:指定發送郵件的程序,默認為 /usr/bin/mail. -s statefile:使用指定的狀態文件. -v:在執行日誌滾動時顯示詳細信息.

13. 日誌滾動
logrotate 默認的主配置文件是 /etc/logrotate.conf /etc/logrotate.d 的目錄下的文件,這些文件被 include 到主配置文件 /etc/logrotate.conf 中
# see "man logrotate" for details # 每周清理一次日誌文件
weekly #保存過去四周的日誌文件
rotate 4 #清除舊日誌文件的同時,創建新的空日誌文件
create #若使用壓縮的日誌文件,請刪除下面行的注釋符
#compress #包含/etc/logrotate.d目錄下的所有配置文件
include /etc/logrotate.d #設置/var/log/wtmp的日誌滾動
/var/log/wtmp {
monthly
minsize 1M
create 0664 root utmp
rotate 1
}

可以使用ls命令顯示/etc/logrotate.d目錄:
[root@server ~]# ls /etc/logrotate.d
mgetty psacct rpm setroubleshoot snmpd syslog yum

每個文件的基本格式均相同
[root@server ~]# cat /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron { #對日誌文件
sharedscripts #調用日誌滾動通用函數sharedscripts
postrotate #在日誌滾動之後執行語句括弧postrotate和endscript之間的命令postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true #重新啟動syslogd
endscript
}

logrotate是由crond運行的,在默認配置中,可以發現在/etc/cron.daily目錄中有一個名為logrotate的文件
[root@server ~]# cat /etc/cron.daily/logrotate
#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

㈤ 用VBS腳本獲取系統日誌信息(應用程序、安全性和系統的日誌信息),可以使用WMI或者CMD命令、

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where Logfile = 'Application'") '獲取應用程序日誌,其它類推

For Each objEvent in colLoggedEvents
Wscript.Echo "Category: " & objEvent.Category
Wscript.Echo "Computer Name: " & objEvent.ComputerName
Wscript.Echo "Event Code: " & objEvent.EventCode
Wscript.Echo "Message: " & objEvent.Message
Wscript.Echo "Record Number: " & objEvent.RecordNumber
Wscript.Echo "Source Name: " & objEvent.SourceName
Wscript.Echo "Time Written: " & objEvent.TimeWritten
Wscript.Echo "Event Type: " & objEvent.Type
Wscript.Echo "User: " & objEvent.User
Next
求採納!

㈥ crontab 的定時任務執行的腳本,有辦法把執行情況生成日誌嗎

直接crontab -e添加執行腳本,然後給執行腳本加個重定向到文件就行了。例如:30 23 * * * /path/to/shell/script >> /path/to/log/file #表示每晚的23:30執行/path/to/shell/script腳本,並且把結果重定向輸出到/path/to/log/file文件。
crontab參數:
-e:編輯該用戶的計時器設置;
-l:列出該用戶的計時器設置;
-r:刪除該用戶的計時器設置;
-u<用戶名稱>:指定要設定計時器的用戶名稱。
crontab的格式共分為六個欄位,前五段是時間設定段,第六段是要執行的命令段,格式如下: minute hour day month week command,時間欄位都是整數, command:要執行的命令,可以是系統命令,也可以是自己編寫的shell腳本文件。 在以上各個欄位中,還可以使用以下特殊字元:
星號(*):代表所有可能的值,全部。
逗號(,):可以用逗號隔開的值指定一個列表范圍。
中杠(-):可以用整數之間的中杠表示一個整數范圍。
正斜線(/):可以用正斜線指定時間的間隔頻率。

㈦ shell腳本怎麼生成運行日誌

自己寫的腳本調用的日誌列印函數,供參考

在腳本開頭的工作
定義日誌文件LOGFILE
定義日誌序列號文件_LOGSEQ

定義日誌函數
log()
{
#檢查是否存在日誌文件,如果存在,則檢查文件是否過大(20M)
#過大時,切換文件,並將目前的日誌序列號保存在_LOGSEQ中。
if [ -f $LOGFILE ];then
LogFileLen=`ls -l ${LOGFILE} | awk '{print $5}'`
if [ $LogFileLen -gt 20971520 ]; then
if [ -f ${_LOGSEQ} ] ; then
_OrgSeq="`cat ${_LOGSEQ}`"
if [ $_OrgSeq -gt 98 ];then
LogFileSeq=0
else
LogFileSeq=`expr ${_OrgSeq} + 1`
fi
else
LogFileSeq=0
fi
echo "${LogFileSeq}" > ${_LOGSEQ}
mv $LOGFILE ${LOGFILE}.${LogFileSeq}
fi
fi
_LogInfo=$1
echo `date +20'%y-%m-%d %H:%M:%S'`" ${_LogInfo} " >> ${LOGFILE} 2>&1
}

需要打日誌時調用log函數即可

㈧ 什麼是腳本文件和日誌文件

腳本是批處理文件的延伸,是一種純文本保存的程序,一般來說的計算機腳本程序是確定的一系列控制計算機進行運算操作動作的組合,在其中可以實現一定的邏輯分支等。
腳本程序相對一般程序開發來說比較接近自然語言,可以不經編譯而是解釋執行,利於快速開發或一些輕量的控制。
現在的腳本語言是比較多的,一般的腳本語言的執行只同具體的解釋執行器有關,所以只要系統上有相應語言的解釋程序就可以做到跨平台。
腳本(Script),就是含有bind和alias等命令的集合,你可以把這個集合存為一個獨立的文件然後在需要的時候執行,這樣就可以方便你在CS中的使用。

腳本可以存為後綴名為.cfg的文件放在cstrike文件夾下,執行時在控制台輸入:exec(腳本文件名).cfg即可。比如將一個腳本存為 buys.cfg文件,則在控制台中輸入:execbuys.cfg則可以實現我們所需要的功能。要實現一個命令只要把這一過程定義(alias)好,並且分配一個鍵位給這個命令,以後只要按分配好的鍵位,就可以實現這一過程。所有的腳本都是通過這一方法實現的。

日誌文件是用於記錄系統操作事件的記錄文件或文件集合,操作系統有操作系統日誌文件,資料庫系統有資料庫系統日誌文件,等等。 系統日誌文件是包含關於系統消息的文件,包括內核、服務、在系統上運行的應用程序等。不同的日誌文件記載不同的信息。例如,有的是默認的系統日誌文件,有的記載特定任務。 在資料庫中用事務日誌文件記錄數據的修改操作,其中的每條日誌記錄或者記錄所執行的邏輯操作,或者記錄已修改數據的前像和後像。前像是操作執行前的數據復本;後像是操作執行後的數據復本。