psacct veya acct her ikisi de, kullanıcıların Linux sistemindeki etkinliklerini izlemek için açık kaynaklı yardımcı programlardır. Bu yardımcı programlar arka planda çalışır ve her kullanıcının sisteminizdeki etkinliğinin yanı sıra hangi kaynakların tüketildiğini takip eder.
Bu programlar, kullanıcıların ne yaptığını, hangi komutları yürüttüklerini, onlar tarafından ne kadar kaynak tüketildiğini ve kullanıcıların sistemde ne kadar süre aktif olduğunu izlemek için mükemmel bir yol sağlar. Bir başka kullanışlı özellik ise Apache, MySQL, FTP, SSH vb. hizmetler tarafından tüketilen toplam kaynakları vermesidir.
Bence bu, sunucularında/sistemlerinde kullanıcı etkinliklerini takip etmek isteyen her Linux/Unix Sistem Yöneticisi için harika ve en çok ihtiyaç duyulan araçlardan biridir.
psacct veya acct paketi, süreç etkinliklerini izlemek için çeşitli özellikler sağlar.
- ac komutu, kullanıcı oturum açma/oturum kapatma (bağlanma süresi) istatistiklerini saat cinsinden yazdırır.
- lastcomm komutu, kullanıcının daha önce yürütülen komutlarının bilgilerini yazdırır.
- accton komutları, hesap işlemlerini açmak/kapatmak için kullanılır.
- sa komutu, daha önce yürütülen komutların bilgilerini özetler.
- last ve lastb komutları, son oturum açan kullanıcıların bir listesini gösterir.
Linux’ta psacct veya acct Paketlerini Kurma
psacct ve acct her ikisi de benzer paketlerdir ve aralarında çok fazla fark yoktur, ancak psacct paketi yalnızca RHEL, CentOS ve Fedora gibi rpm tabanlı dağıtımlar için kullanılabilirken, acct paketi Ubuntu, Debian gibi dağıtımlar için kullanılabilir.
psacct paketini rpm tabanlı dağıtımlar altında kurmak için aşağıdaki yum komutunu verin.
# yum install psacct
acct paketini Ubuntu / Debian / Linux Mint altında apt komutunu kullanarak kurmak için.
$ sudo apt install acct
Diğer Linux dağıtımlarında gösterildiği gibi kurabilirsiniz.
$ sudo apk add psacct [On Alpine Linux] $ sudo pacman -S acct [On Arch Linux] $ sudo zypper install acct [On OpenSUSE]
psacct veya acct hizmetini başlatma
Varsayılan olarak, psacct hizmeti devre dışı moddadır ve RHEL tabanlı dağıtımlar altında manuel olarak başlatmanız gerekir. Hizmetin durumunu kontrol etmek için aşağıdaki komutu kullanın.
$ sudo systemctl status psacct
Durumun devre dışı olarak gösterildiğini görüyorsunuz, bu yüzden bir /var/account/pacct dosyası oluşturacak olan aşağıdaki komutları kullanarak manuel olarak başlatalım.
$ sudo systemctl start psacct $ sudo systemctl enable psacct $ sudo systemctl status psacct
Ubuntu altında, Debian ve Mint hizmeti otomatik olarak başlatılır, tekrar başlatmanıza gerek yoktur.
Kullanıcıların Bağlantı Süresi İstatistiklerini Görüntüleme
ac komutu, herhangi bir argüman belirtmeden, mevcut wtmp dosyasındaki kullanıcı oturum açma/çıkışlarına bağlı olarak, saat cinsinden toplam bağlantı süresi istatistiklerini görüntüler.
# ac total 11299.15
Linux Kullanıcılarının Günlük İstatistiklerini Görüntüleme
“ac -d” komutunu kullanmak, toplam oturum açma süresini gün bazında saat olarak yazdıracaktır.
# ac -d Jun 25 total 0.19 Oct 13 total 14.45 Oct 27 total 672.00 Oct 28 total 15.82 Nov 3 total 4.29 Nov 5 total 10.13 Dec 7 total 14.04 Dec 10 total 23.60 Dec 27 total 808.93 Jan 3 total 12.31 Mar 3 total 1438.67 Jul 22 total 6767.81 Today total 1517.09
Tüm Linux Kullanıcılarının Toplam Oturum Açma Süresini Görüntüleme
“ac -p” komutunun kullanılması, her Linux kullanıcısının toplam oturum açma süresini saat olarak yazdıracaktır.
# ac -p rockylinux 425.61 tecmint 702.29 root 10171.54 total 11299.44
Linux Kullanıcı Oturum Açma Zamanını Görüntüleme
“tecmint” kullanıcısının toplam oturum açma istatistiklerini saat cinsinden almak için, as komutunu kullanın.
# ac tecmint
total 702.29
Kullanıcının Günlük Oturum Açma Saatini Görüntüleme
Aşağıdaki komut, “tecmint” kullanıcısının günlük toplam oturum açma süresini saat olarak yazdıracaktır.
# ac -d tecmint
Oct 11 total 8.01 Oct 12 total 24.00 Oct 15 total 70.50 Oct 16 total 23.57 Oct 17 total 24.00 Oct 18 total 18.70 Nov 20 total 0.18
Print All Linux Commands Executed by Users
Kullanıcılar Tarafından Yürütülen Tüm Linux Komutlarını Yazdır
# sa
2 9.86re 0.00cp 2466k sshd* 8 1.05re 0.00cp 1064k man 2 10.08re 0.00cp 2562k sshd 12 0.00re 0.00cp 1298k psacct 2 0.00re 0.00cp 1575k troff 14 0.00re 0.00cp 503k ac 10 0.00re 0.00cp 1264k psacct* 10 0.00re 0.00cp 466k consoletype 9 0.00re 0.00cp 509k sa 8 0.02re 0.00cp 769k udisks-helper-a 6 0.00re 0.00cp 1057k touch 6 0.00re 0.00cp 592k gzip 6 0.00re 0.00cp 465k accton 4 1.05re 0.00cp 1264k sh* 4 0.00re 0.00cp 1264k nroff* 2 1.05re 0.00cp 1264k sh 2 1.05re 0.00cp 1120k less 2 0.00re 0.00cp 1346k groff 2 0.00re 0.00cp 1383k grotty 2 0.00re 0.00cp 1053k mktemp 2 0.00re 0.00cp 1030k iconv 2 0.00re 0.00cp 1023k rm 2 0.00re 0.00cp 1020k cat 2 0.00re 0.00cp 1018k locale 2 0.00re 0.00cp 802k gtbl
Yukarıdaki komut çıktısının açıklaması:
- 9.86re, duvar saati dakikalarına göre “gerçek zamanlı”dır
- 0.01cp, sistem/kullanıcı süresinin işlemci dakikası cinsinden toplamıdır
- 2466k, işlemci zamanı ortalama çekirdek kullanımıdır, yani 1k birim
- sshd komut adı
Linux Kullanıcı Bilgilerini Yazdır
Bireysel bir kullanıcının bilgilerini almak için -u seçeneklerini kullanın.
# sa -u
root 0.00 cpu 465k mem accton root 0.00 cpu 1057k mem touch root 0.00 cpu 1298k mem psacct root 0.00 cpu 466k mem consoletype root 0.00 cpu 1264k mem psacct * root 0.00 cpu 1298k mem psacct root 0.00 cpu 466k mem consoletype root 0.00 cpu 1264k mem psacct * root 0.00 cpu 1298k mem psacct root 0.00 cpu 466k mem consoletype root 0.00 cpu 1264k mem psacct * root 0.00 cpu 465k mem accton root 0.00 cpu 1057k mem touch
Linux İşlemlerinin Sayısını Yazdır
Bu komut, toplam işlem sayısını ve CPU dakikasını yazdırır. Bu sayılarda sürekli bir artış görüyorsanız, neler olup bittiği hakkında sisteme bakmanın zamanı gelmiştir.
# sa -m
sshd 2 9.86re 0.00cp 2466k root 127 14.29re 0.00cp 909k
Yazdırma ve Kullanımı Yüzdeye Göre Sıralama
“sa -c” komutu en yüksek kullanıcı yüzdesini gösterir.
# sa -c
132 100.00% 24.16re 100.00% 0.01cp 100.00% 923k 2 1.52% 9.86re 40.83% 0.00cp 53.33% 2466k sshd* 8 6.06% 1.05re 4.34% 0.00cp 20.00% 1064k man 2 1.52% 10.08re 41.73% 0.00cp 13.33% 2562k sshd 12 9.09% 0.00re 0.01% 0.00cp 6.67% 1298k psacct 2 1.52% 0.00re 0.00% 0.00cp 6.67% 1575k troff 18 13.64% 0.00re 0.00% 0.00cp 0.00% 509k sa 14 10.61% 0.00re 0.00% 0.00cp 0.00% 503k ac 10 7.58% 0.00re 0.00% 0.00cp 0.00% 1264k psacct* 10 7.58% 0.00re 0.00% 0.00cp 0.00% 466k consoletype 8 6.06% 0.02re 0.07% 0.00cp 0.00% 769k udisks-helper-a 6 4.55% 0.00re 0.00% 0.00cp 0.00% 1057k touch 6 4.55% 0.00re 0.00% 0.00cp 0.00% 592k gzip 6 4.55% 0.00re 0.00% 0.00cp 0.00% 465k accton 4 3.03% 1.05re 4.34% 0.00cp 0.00% 1264k sh* 4 3.03% 0.00re 0.00% 0.00cp 0.00% 1264k nroff* 2 1.52% 1.05re 4.34% 0.00cp 0.00% 1264k sh 2 1.52% 1.05re 4.34% 0.00cp 0.00% 1120k less 2 1.52% 0.00re 0.00% 0.00cp 0.00% 1346k groff 2 1.52% 0.00re 0.00% 0.00cp 0.00% 1383k grotty 2 1.52% 0.00re 0.00% 0.00cp 0.00% 1053k mktemp
Kullanıcının Son Yürütülen Komutlarını Listeleme
‘lastcomm’ komutu, önceden yürütülen komut bilgilerini aramak ve görüntülemek için kullanılır. Ayrıca bireysel kullanıcı adlarının komutlarını da arayabilirsiniz. Örneğin, kullanıcının komutlarını görüyoruz (tecmint).
# lastcomm tecmint
su tecmint pts/0 0.00 secs Wed Feb 13 15:56 ls tecmint pts/0 0.00 secs Wed Feb 13 15:56 ls tecmint pts/0 0.00 secs Wed Feb 13 15:56 ls tecmint pts/0 0.00 secs Wed Feb 13 15:56 bash F tecmint pts/0 0.00 secs Wed Feb 13 15:56 id tecmint pts/0 0.00 secs Wed Feb 13 15:56 grep tecmint pts/0 0.00 secs Wed Feb 13 15:56 grep tecmint pts/0 0.00 secs Wed Feb 13 15:56 bash F tecmint pts/0 0.00 secs Wed Feb 13 15:56 dircolors tecmint pts/0 0.00 secs Wed Feb 13 15:56 bash F tecmint pts/0 0.00 secs Wed Feb 13 15:56 tput tecmint pts/0 0.00 secs Wed Feb 13 15:56 tty tecmint pts/0 0.00 secs Wed Feb 13 15:56 bash F tecmint pts/0 0.00 secs Wed Feb 13 15:56 id tecmint pts/0 0.00 secs Wed Feb 13 15:56 bash F tecmint pts/0 0.00 secs Wed Feb 13 15:56 id tecmint pts/0 0.00 secs Wed Feb 13 15:56
Komutlar için Arama Günlükleri
Lastcomm komutunun yardımıyla, her komutun bireysel kullanımını görebileceksiniz.
# lastcomm ls
ls tecmint pts/0 0.00 secs Wed Feb 13 15:56 ls tecmint pts/0 0.00 secs Wed Feb 13 15:56 ls tecmint pts/0 0.00 secs Wed Feb 13 15:56
Daha fazla bilgi ve kullanım için bu araçların kılavuz sayfalarına bakın.
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.