From c8545c2d52087eb2a0f751ac56d496651ffa973b Mon Sep 17 00:00:00 2001 From: most_senior_man Date: Wed, 8 Apr 2026 21:12:35 +0000 Subject: [PATCH] feat: complete bash scripts --- backups/backup_20260408_205035.tar.gz | Bin 0 -> 1368 bytes backups/backup_20260408_205615.tar.gz | Bin 0 -> 1771 bytes logs/app.log | 39 ++++++++++++++++++++++ logs/backup.log | 4 +++ logs/file_manager.log | 15 +++++++++ logs/process_monitor.log | 12 +++++++ logs/system_report_2026.log | 46 ++++++++++++++++++++++++++ logs/user_info.log | 2 ++ scripts/backup.sh | 24 ++++++++++++++ scripts/file_manager.sh | 41 +++++++++++++++++++++++ scripts/process_monitor.sh | 14 ++++++++ scripts/run_all.sh | 36 ++++++++++++++++++++ scripts/system_check.sh | 31 +++++++++++++++++ scripts/user_info.sh | 31 +++++++++++++++++ 14 files changed, 295 insertions(+) create mode 100644 backups/backup_20260408_205035.tar.gz create mode 100644 backups/backup_20260408_205615.tar.gz create mode 100644 logs/app.log create mode 100644 logs/backup.log create mode 100644 logs/file_manager.log create mode 100644 logs/process_monitor.log create mode 100644 logs/system_report_2026.log create mode 100644 logs/user_info.log create mode 100644 scripts/backup.sh create mode 100644 scripts/file_manager.sh create mode 100644 scripts/process_monitor.sh create mode 100644 scripts/run_all.sh create mode 100644 scripts/system_check.sh create mode 100644 scripts/user_info.sh diff --git a/backups/backup_20260408_205035.tar.gz b/backups/backup_20260408_205035.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..121fbf78aa0684b37bafe93abfe287a02b05ca30 GIT binary patch literal 1368 zcmV-e1*iHSiwFP!000001MOH@Q`<-o_OpIPBkTe~$+nDTvJfZbfJ3NYplq`#ieg%W_G1K?-*DV!GxfiE0((bOtuj;N=PF`cmshV2T zv>kk1%azq?wOq}C_VT9Xasl&o3XpR==JyzJEsypb-JRLDYW+8*VySQ0gnOh92raVV z3+UhpuGOlG@~_r*v^f8`t%CXA-O*|}D8GO$GxR^t|N2_##&SzHIvYyT$=Olw)A32O zE*Fa>+Z(X-;lMYt)HvuKpPkn8sub?bS0u^M838#jR%EbT3BaI4_sJICakBbwbp=Wv zcX2KmuCMpO9}+iO4~ZB<59Cj%5p)~b%?BX&7W3Jf3{T(_0*a0TVk6}VFR>X(N&?>t zjA5*7fevAzxd)L+OH}l&v5fuw_|_yg8GE?eLF&xdlQ2dIdzLXNXA>e^&xgJjxaQJu zOb#x`B=c%*U-Io zsKpeq!Q8@R--?4VbuxZBT9a^%^ZsTlW!nYA(!jKp;k!6cPa>61Jf=?~K0kn$5x*PX zd|0X#l@X>J(ks+|u@o>udzRbxUIzSgtMR|8?uPhZ)zql}*LHW*4F6w)R^b2SaD?D5 zaaaar1ai~$355qQpuo@b9?0Q!?uM{JWPX{uY+xDs^nq`QZY60Q{?u*D#CpPZG75Yq zML_b1<-!$V{XB^$6gzo{1f*a_6l#-FkM2Rkwy_9_Z8Fd)K>+(ZuqZK?lq2>aA5#B0*6q`SOH)O-AVnN*5MFghB}r@ zcx1uASPeXkUAzH}+}sS8-huiSwzg(EZp>1bTbAq5G;Su?>rm6?@h2rT%)s_jt#-C6 zC--;4N|LA6lMV`U2;&G_mp>ERM&uVLN<9bST(7~U7lg^wU3?j7D9Y24L@M%;zy*Q- z)#do=RK(IZZiCT_fq!l_{;O4O>ie%&DQENltB{mx0G+do_Cd3Ec--a#{>R3_my7f8 zi8lmsP?$WYO+;r%^az2}YoM4|S`&#=qhAUc4-tb6AIla@kFan!3rGKDusk(>z3X5v zF>sQOMZNzyOz$4Inw@T=bzaYJhJ9ySE?gFzg4rv4F0=|ASloZ=s&m_?oz7R43&$S=G*0I@W5G5{L z=JUM|a}0kI*~>-imJNyv+ckW+*XaOxD1N{s%{#NrSS}bg(OsO+gHeX6zZ(@x?1A~j z=@~;}-2R&XKbl$@|Np5}RsR2{s_ta?{~DBn|HDSNnS?*YyjiS|&I=_YkNUkl=ZSz{ zAVZxKbS^vHW((TQ^Rspr!gq^MORyz=_8{Z&nEoM!tnp?0mWF!u>m)x|TbTE;@~)FeiN|A%}i<3md2Hdc6YQ zN7Ql=%C#RGxWEv9H(04qDs5~@Vs;N%;XS-9Cx>@o_t!@I^!W5>Pbdq*fLQoRbmM&^ z$WU0=J4L%(hjZ!~I7y2ywy{_diLU4CHqgN39>7TKBn*4lCUy%wxJTi41}OH{;zqWP zQbyRjoG@jI;khhuQsUA|W6jHXR_6vFGEq?&p6|L+Kxw#j7=F0AP+MTJlr_1GGRi2U aj55k7ql_}jD5H%2!}Ko|iX0UHC;$Lz!lK3i literal 0 HcmV?d00001 diff --git a/backups/backup_20260408_205615.tar.gz b/backups/backup_20260408_205615.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..3bfeaa6e5e32f411c4db047a7f8f4b9e5dad3062 GIT binary patch literal 1771 zcmV)5UrpE;B) z+iKf(tKMwlxYcSNTP3h}FIuUTh}hu(rI3kuC$at##*bwVQT!{!Lug!1F(D+U*k5cOc6W{L9b(@St|%)7p(ACYtu{;_dL) z(|5g&Zkn}#jm5li;E1kuPp(cc&O2pGQ!C32O>-SVKrg2=I`~ura5-^eQpGn3{s=yN z0Aqx!B$f^zKfZ!^LTEOxfVdL|`me|loB+|i2O#&ph{b^pj}Q|AhJyrhA@vz92?Qxp zf|w=lBxkmUM=GKB5;BoCuo(GM8n0gEuO11=bcfqF$ipRh3c{qszDbz5%@#;d7Q=`o z)Z3`8*;a5T`D=h$&NdPVFoMZOeHRcpp-wnGWjOEsF+A^{p;a{Vp{)aq&{!;Mu}#-4?@Gu#CU0t(m%}=l;ApC)>3^*T7?|!c9@C?IlsbJ(_45^^ z8_Bon%TF7*A~PZ!S9=2gH)|1RE)ilFGU~@{7b##%{I9p`)-?au?c-9tQMYV+AOD{M zw#5HM<4`F;5Ps+5aOX&;W1rrm=L#{wUyr%BgzHsJ8!-;qGRy~P;$L#44?lnWs=oq{ zX(~8GV@@J4?r}-BLWkE-^T=I|CP6S4D^iauPw5KiCzSehyxy4#{=bYph*=a7&xAga zMi3(<(=<1F<{=FHFbUAlG4?5>)zmYJ#9K=ZBa6o?0#ES7xNH+2fq? zm(UFYbUhMy0vs-#_^-t08{8CR4H|=`Wz~R|6*UJ^nv8kpfAHsry78ZnFUpJM%{=ch zfe`HtZm|AHLc)D_O94~hUF4reqBmG(@X)73Y8G77)tI5~@&zd5(UF?^5v(7eT3xER zbCiyL=2OP!>!t#F2io>3{33;}mjv-#sl8m47uOGzC+Q3G#SNwqV)j8HI{I%U2(a=? zt0>Mw$j|x!-m^p=fHJqa=d_h-}6kws3q%M~EoOlp135V{4 zxVJc$58pWMZ4$}FWVYFewKnVa!fZ|ls zgkO{p#le;dJq*6OWCEWi^2!+Vgk*)Q3QROf-=;b3WWtyrz@pe^RHd^C!(uQCM5;?t zPKVMSi2|z%nIcz4q(Z}?QC+FXZD`HvlA^bvw5n<5sTancS2N9=(mR=&vu)1M)QuHX zO^fhP+w~s44b0lqE_TLaYy59b`@ebp->C2VzfS_%+y!88aos=Z4d0yhWrO#Z?#b`h zm+DJ~|I|=~z9K1PHk9Utv{F9+!^7}0qqxxeo2!i9U=8kKsDHrtL4<0~sn+kNvV5Wa z_TvEW5*S&%oYd>TSJPjep7jP--LuP1`AFS6Ug(wgm9XLsE5B9FDg!<3`(-*ww_l!V zC{w|(Jf&lzU76$0Ssf~k%y2);K4^i2KCdCIu(LEJ6}r@OXe)Q7un*yPLLy)^c!0pc z%Z8mrexasie>a8|fWL5qLRWa0B8{;sIvReO3LP zfmvH9Cw9PNTl}}J#`OQcM$3}_|Fx{d56coK z3;bzh=tzLU`@vQ34Envxi~bd;v2{@^MKh*=*+ATaitI2OU4!k7z*zHl)iU8T63QI& zjig6hj)mV!{N(Z)-Z6O<*hVcx=hH1bJMVWo z4fqmqpJFJtzdpkWf${g5s8wpUXH_lj-6&Le4L{V2&6`y2Kf3+%)AP44Q)Y=$h%dmo zVRr-(Dx2EYnoKg6=^ZWY*iFf%nz&-I6UbYQ+(CYuBLZ{S5oQY~xkuukTrh&_`b2h! zR3gk>p*k|dWmF{L9JzU>Ip@td+s_6d6VWgP+IPpOAT?Y%QI|Xl?KKkbZ#;Y0!ydjj N_&>ib%z6MQ003|@dmI1& literal 0 HcmV?d00001 diff --git a/logs/app.log b/logs/app.log new file mode 100644 index 0000000..6d22e5e --- /dev/null +++ b/logs/app.log @@ -0,0 +1,39 @@ +total 24K +-rw-rw-r-- 1 most_senior_man most_senior_man 613 Apr 8 20:49 backup.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 925 Apr 8 20:42 file_manager.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 385 Apr 8 20:53 process_monitor.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 600 Apr 8 20:55 run_all.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 842 Apr 8 20:37 system_check.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 783 Apr 5 17:43 user_info.sh +===== SYSTEM REPORT ===== +---------- Disk Usage ---------- +Filesystem Size Used Avail Use% Mounted on +tmpfs 392M 1.9M 390M 1% /run +/dev/sda2 40G 8.2G 29G 22% / +tmpfs 2.0G 0 2.0G 0% /dev/shm +tmpfs 5.0M 8.0K 5.0M 1% /run/lock +tmpfs 392M 136K 392M 1% /run/user/1000 +/dev/sr0 6.3G 6.3G 0 100% /media/most_senior_man/Ubuntu 24.04.4 LTS amd64 +---------- Memory Usage ---------- + total used free shared buff/cache available +Mem: 3914 1671 123 40 2306 2243 +Swap: 0 0 0 +---------- CPU Load ---------- + 20:56:14 up 4:49, 1 user, load average: 0.52, 0.64, 0.48 +----- Total running processes: 220 +---------- Top 5 memory-consuming processes ---------- +USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND +most_se+ 3018 3.0 11.4 11788172 459664 ? Sl 16:10 8:46 /snap/firefox/7967/usr/lib/firefox/firefox +most_se+ 2054 3.0 9.5 3995868 380964 ? Ssl 16:09 8:53 /usr/bin/gnome-shell +most_se+ 3261 0.6 5.7 2746260 231164 ? Sl 16:11 1:50 /snap/firefox/7967/usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0:33276 -prefMapHandle 1:278246 -jsInitHandle 2:227672 -parentBuildID 20260309231353 -sandboxReporter 3 -chrootClient 4 -ipcHandle 5 -initialChannelId {49eeb725-dc6f-46f4-9ac3-7b49de95e02c} -parentPid 3018 -crashReporter 6 -crashHelper 7 -greomni /snap/firefox/7967/usr/lib/firefox/omni.ja -appomni /snap/firefox/7967/usr/lib/firefox/browser/omni.ja -appDir /snap/firefox/7967/usr/lib/firefox/browser 6 tab +most_se+ 3268 0.9 5.4 2822016 219064 ? Sl 16:11 2:39 /snap/firefox/7967/usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0:33276 -prefMapHandle 1:278246 -jsInitHandle 2:227672 -parentBuildID 20260309231353 -sandboxReporter 3 -chrootClient 4 -ipcHandle 5 -initialChannelId {bd287250-3917-4d65-a238-eff1c80c9889} -parentPid 3018 -crashReporter 6 -crashHelper 7 -greomni /snap/firefox/7967/usr/lib/firefox/omni.ja -appomni /snap/firefox/7967/usr/lib/firefox/browser/omni.ja -appDir /snap/firefox/7967/usr/lib/firefox/browser 7 tab +most_se+ 3233 0.3 3.3 2626188 133316 ? Sl 16:11 0:58 /snap/firefox/7967/usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0:36915 -prefMapHandle 1:278246 -jsInitHandle 2:227672 -parentBuildID 20260309231353 -sandboxReporter 3 -chrootClient 4 -ipcHandle 5 -initialChannelId {5f07b2a7-e046-4056-8e7c-b5c091e23ddc} -parentPid 3018 -crashReporter 6 -crashHelper 7 -greomni /snap/firefox/7967/usr/lib/firefox/omni.ja -appomni /snap/firefox/7967/usr/lib/firefox/browser/omni.ja -appDir /snap/firefox/7967/usr/lib/firefox/browser 5 tab +Backup created: ../backups/backup_20260408_205615.tar.gz +Old backups cleaned up +nginx is Stopped. Restarting... +nginx Restarted +ssh is Stopped. Restarting... +ssh Restarted +docker is Stopped. Restarting... +docker Restarted +Hello Oluwasegun from nigerian! You are an Adult. diff --git a/logs/backup.log b/logs/backup.log new file mode 100644 index 0000000..046e6fb --- /dev/null +++ b/logs/backup.log @@ -0,0 +1,4 @@ +Backup created: ../backups/backup_20260408_205035.tar.gz +Old backups cleaned up +Backup created: ../backups/backup_20260408_205615.tar.gz +Old backups cleaned up diff --git a/logs/file_manager.log b/logs/file_manager.log new file mode 100644 index 0000000..dcfee0e --- /dev/null +++ b/logs/file_manager.log @@ -0,0 +1,15 @@ +File created: sample.txt +total 12K +-rw-rw-r-- 1 most_senior_man most_senior_man 925 Apr 8 20:42 file_manager.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 0 Apr 8 20:43 sample.txt +-rw-rw-r-- 1 most_senior_man most_senior_man 842 Apr 8 20:37 system_check.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 783 Apr 5 17:43 user_info.sh +Renamed sample.txt to sample1.txt +File deleted: sample1.txt +total 24K +-rw-rw-r-- 1 most_senior_man most_senior_man 613 Apr 8 20:49 backup.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 925 Apr 8 20:42 file_manager.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 385 Apr 8 20:53 process_monitor.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 600 Apr 8 20:55 run_all.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 842 Apr 8 20:37 system_check.sh +-rw-rw-r-- 1 most_senior_man most_senior_man 783 Apr 5 17:43 user_info.sh diff --git a/logs/process_monitor.log b/logs/process_monitor.log new file mode 100644 index 0000000..49e0ec0 --- /dev/null +++ b/logs/process_monitor.log @@ -0,0 +1,12 @@ +nginx is Stopped. Restarting... +nginx Restarted +ssh is Stopped. Restarting... +ssh Restarted +docker is Stopped. Restarting... +docker Restarted +nginx is Stopped. Restarting... +nginx Restarted +ssh is Stopped. Restarting... +ssh Restarted +docker is Stopped. Restarting... +docker Restarted diff --git a/logs/system_report_2026.log b/logs/system_report_2026.log new file mode 100644 index 0000000..f6a7b69 --- /dev/null +++ b/logs/system_report_2026.log @@ -0,0 +1,46 @@ +===== SYSTEM REPORT ===== +---------- Disk Usage ---------- +Filesystem Size Used Avail Use% Mounted on +tmpfs 392M 2.1M 390M 1% /run +/dev/sda2 40G 7.9G 30G 22% / +tmpfs 2.0G 0 2.0G 0% /dev/shm +tmpfs 5.0M 8.0K 5.0M 1% /run/lock +tmpfs 392M 144K 392M 1% /run/user/1000 +/dev/sr0 6.3G 6.3G 0 100% /media/most_senior_man/Ubuntu 24.04.4 LTS amd64 +---------- Memory Usage ---------- + total used free shared buff/cache available +Mem: 3914 1604 256 39 2129 2310 +Swap: 0 0 0 +---------- CPU Load ---------- + 20:38:57 up 4:32, 1 user, load average: 0.10, 0.08, 0.09 +----- Total running processes: 217 +---------- Top 5 memory-consuming processes ---------- +USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND +most_se+ 3018 2.9 12.3 11787128 495484 ? Sl 16:10 7:57 /snap/firefox/7967/usr/lib/firefox/firefox +most_se+ 2054 2.8 9.4 3993624 379864 ? Ssl 16:09 7:43 /usr/bin/gnome-shell +most_se+ 3268 0.9 6.3 2822000 256012 ? Sl 16:11 2:35 /snap/firefox/7967/usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0:33276 -prefMapHandle 1:278246 -jsInitHandle 2:227672 -parentBuildID 20260309231353 -sandboxReporter 3 -chrootClient 4 -ipcHandle 5 -initialChannelId {bd287250-3917-4d65-a238-eff1c80c9889} -parentPid 3018 -crashReporter 6 -crashHelper 7 -greomni /snap/firefox/7967/usr/lib/firefox/omni.ja -appomni /snap/firefox/7967/usr/lib/firefox/browser/omni.ja -appDir /snap/firefox/7967/usr/lib/firefox/browser 7 tab +most_se+ 3261 0.5 5.0 2723716 201840 ? Sl 16:11 1:21 /snap/firefox/7967/usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0:33276 -prefMapHandle 1:278246 -jsInitHandle 2:227672 -parentBuildID 20260309231353 -sandboxReporter 3 -chrootClient 4 -ipcHandle 5 -initialChannelId {49eeb725-dc6f-46f4-9ac3-7b49de95e02c} -parentPid 3018 -crashReporter 6 -crashHelper 7 -greomni /snap/firefox/7967/usr/lib/firefox/omni.ja -appomni /snap/firefox/7967/usr/lib/firefox/browser/omni.ja -appDir /snap/firefox/7967/usr/lib/firefox/browser 6 tab +most_se+ 3233 0.3 3.3 2621068 133540 ? Sl 16:11 0:55 /snap/firefox/7967/usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0:36915 -prefMapHandle 1:278246 -jsInitHandle 2:227672 -parentBuildID 20260309231353 -sandboxReporter 3 -chrootClient 4 -ipcHandle 5 -initialChannelId {5f07b2a7-e046-4056-8e7c-b5c091e23ddc} -parentPid 3018 -crashReporter 6 -crashHelper 7 -greomni /snap/firefox/7967/usr/lib/firefox/omni.ja -appomni /snap/firefox/7967/usr/lib/firefox/browser/omni.ja -appDir /snap/firefox/7967/usr/lib/firefox/browser 5 tab +===== SYSTEM REPORT ===== +---------- Disk Usage ---------- +Filesystem Size Used Avail Use% Mounted on +tmpfs 392M 1.9M 390M 1% /run +/dev/sda2 40G 8.2G 29G 22% / +tmpfs 2.0G 0 2.0G 0% /dev/shm +tmpfs 5.0M 8.0K 5.0M 1% /run/lock +tmpfs 392M 136K 392M 1% /run/user/1000 +/dev/sr0 6.3G 6.3G 0 100% /media/most_senior_man/Ubuntu 24.04.4 LTS amd64 +---------- Memory Usage ---------- + total used free shared buff/cache available +Mem: 3914 1671 123 40 2306 2243 +Swap: 0 0 0 +---------- CPU Load ---------- + 20:56:14 up 4:49, 1 user, load average: 0.52, 0.64, 0.48 +----- Total running processes: 220 +---------- Top 5 memory-consuming processes ---------- +USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND +most_se+ 3018 3.0 11.4 11788172 459664 ? Sl 16:10 8:46 /snap/firefox/7967/usr/lib/firefox/firefox +most_se+ 2054 3.0 9.5 3995868 380964 ? Ssl 16:09 8:53 /usr/bin/gnome-shell +most_se+ 3261 0.6 5.7 2746260 231164 ? Sl 16:11 1:50 /snap/firefox/7967/usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0:33276 -prefMapHandle 1:278246 -jsInitHandle 2:227672 -parentBuildID 20260309231353 -sandboxReporter 3 -chrootClient 4 -ipcHandle 5 -initialChannelId {49eeb725-dc6f-46f4-9ac3-7b49de95e02c} -parentPid 3018 -crashReporter 6 -crashHelper 7 -greomni /snap/firefox/7967/usr/lib/firefox/omni.ja -appomni /snap/firefox/7967/usr/lib/firefox/browser/omni.ja -appDir /snap/firefox/7967/usr/lib/firefox/browser 6 tab +most_se+ 3268 0.9 5.4 2822016 219064 ? Sl 16:11 2:39 /snap/firefox/7967/usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0:33276 -prefMapHandle 1:278246 -jsInitHandle 2:227672 -parentBuildID 20260309231353 -sandboxReporter 3 -chrootClient 4 -ipcHandle 5 -initialChannelId {bd287250-3917-4d65-a238-eff1c80c9889} -parentPid 3018 -crashReporter 6 -crashHelper 7 -greomni /snap/firefox/7967/usr/lib/firefox/omni.ja -appomni /snap/firefox/7967/usr/lib/firefox/browser/omni.ja -appDir /snap/firefox/7967/usr/lib/firefox/browser 7 tab +most_se+ 3233 0.3 3.3 2626188 133316 ? Sl 16:11 0:58 /snap/firefox/7967/usr/lib/firefox/firefox -contentproc -isForBrowser -prefsHandle 0:36915 -prefMapHandle 1:278246 -jsInitHandle 2:227672 -parentBuildID 20260309231353 -sandboxReporter 3 -chrootClient 4 -ipcHandle 5 -initialChannelId {5f07b2a7-e046-4056-8e7c-b5c091e23ddc} -parentPid 3018 -crashReporter 6 -crashHelper 7 -greomni /snap/firefox/7967/usr/lib/firefox/omni.ja -appomni /snap/firefox/7967/usr/lib/firefox/browser/omni.ja -appDir /snap/firefox/7967/usr/lib/firefox/browser 5 tab diff --git a/logs/user_info.log b/logs/user_info.log new file mode 100644 index 0000000..ad863b3 --- /dev/null +++ b/logs/user_info.log @@ -0,0 +1,2 @@ +Hello Oluwasegun from Nigeria! You are an Adult. +Hello Oluwasegun from nigerian! You are an Adult. diff --git a/scripts/backup.sh b/scripts/backup.sh new file mode 100644 index 0000000..19f5e89 --- /dev/null +++ b/scripts/backup.sh @@ -0,0 +1,24 @@ + +#!/bin/bash + +SOURCE_DIR=$1 +BACKUP_DIR="../backups" +LOG_FILE="../logs/backup.log" + +if [[ ! -d "$SOURCE_DIR" ]]; then + echo "Error: Directory does not exist" | tee -a "$LOG_FILE" + echo "Usage: $0 " | tee -a "$LOG_FILE" + exit 1 + fi + + TIMESTAMP=$(date +"%Y%m%d_%H%M%S") + BACKUP_FILE="$BACKUP_DIR/backup_$TIMESTAMP.tar.gz" + + tar -czf "$BACKUP_FILE" "$SOURCE_DIR" + + echo "Backup created: $BACKUP_FILE" | tee -a "$LOG_FILE" + + # Keep only last 5 backups + ls -t $BACKUP_DIR/backup_*.tar.gz | tail -n +6 | xargs -r rm + + echo "Old backups cleaned up" | tee -a "$LOG_FILE" diff --git a/scripts/file_manager.sh b/scripts/file_manager.sh new file mode 100644 index 0000000..33da7a9 --- /dev/null +++ b/scripts/file_manager.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +LOG_FILE="../logs/file_manager.log" +ACTION=$1 +FILE=$2 + +case "$ACTION" in + create) + if [[ -f "$FILE" ]]; then + echo "File already exists!" | tee -a "$LOG_FILE" + else + touch "$FILE" + echo "File created: $FILE" | tee -a "$LOG_FILE" + fi + ;; + delete) + if [[ -f "$FILE" ]]; then + rm "$FILE" + echo "File deleted: $FILE" | tee -a "$LOG_FILE" + else + echo "File not found!" | tee -a "$LOG_FILE" + fi + ;; + + list) + ls -lh | tee -a "$LOG_FILE" + ;; + + rename) + NEW_NAME=$3 + if [[ -f "$FILE" ]]; then + mv "$FILE" "$NEW_NAME" + echo "Renamed $FILE to $NEW_NAME" | tee -a "$LOG_FILE" + else + echo "File not found!" | tee -a "$LOG_FILE" + fi + ;; + *) + echo "Usage: $0 {create|delete|list|rename} filename filename?" | tee -a "$LOG_FILE" + ;; +esac diff --git a/scripts/process_monitor.sh b/scripts/process_monitor.sh new file mode 100644 index 0000000..7d6f89d --- /dev/null +++ b/scripts/process_monitor.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +LOG_FILE="../logs/process_monitor.log" +services=("nginx" "ssh" "docker") + +for service in "${services[@]}"; do + if pgrep -x "$service" > /dev/null; then + echo "$service is Running" | tee -a "$LOG_FILE" + else + echo "$service is Stopped. Restarting..." | tee -a "$LOG_FILE" + # Simulate restart + echo "$service Restarted" | tee -a "$LOG_FILE" + fi +done diff --git a/scripts/run_all.sh b/scripts/run_all.sh new file mode 100644 index 0000000..4136ab0 --- /dev/null +++ b/scripts/run_all.sh @@ -0,0 +1,36 @@ +#!/bin/bash +set -euo pipefail + +LOG_FILE="../logs/app.log" + +run_all() { + bash file_manager.sh list + bash system_check.sh + bash backup.sh . + bash process_monitor.sh + bash user_info.sh + +} + +menu() { + echo "1. Run all" + echo "2. System check" + echo "3. Backup" + echo "4. Exit" +} + + while true; do + menu + read -p "Choose option: " choice + + case $choice in + 1) run_all | tee -a "$LOG_FILE" ;; + 2) bash system_check.sh | tee -a "$LOG_FILE" ;; + 3) bash backup.sh . | tee -a "$LOG_FILE" ;; + 4) exit 0 ;; + *) echo "Invalid option" ;; + esac + done + + + diff --git a/scripts/system_check.sh b/scripts/system_check.sh new file mode 100644 index 0000000..c1e8b4f --- /dev/null +++ b/scripts/system_check.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +DATE=$(date +"%Y") +LOG_FILE="../logs/system_report_$DATE.log" + +echo "===== SYSTEM REPORT =====" | tee -a "$LOG_FILE" + +echo "---------- Disk Usage ----------" | tee -a "$LOG_FILE" +df -h | tee -a "$LOG_FILE" + +echo "---------- Memory Usage ----------" | tee -a "$LOG_FILE" +free -m | tee -a "$LOG_FILE" + +echo "---------- CPU Load ----------" | tee -a "$LOG_FILE" +uptime | tee -a "$LOG_FILE" + +# Disk warning +USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//') +if (( USAGE > 80 )); then + echo "WARNING: Disk usage is above 80%" | tee -a "$LOG_FILE" + fi + + # Process count + echo "----- Total running processes: $(ps aux | wc -l)" | tee -a "$LOG_FILE" + + # Top 5 memory-consuming processes + echo "---------- Top 5 memory-consuming processes ----------" | tee -a "$LOG_FILE" + ps aux --sort=-%mem | head -n 6 | tee -a "$LOG_FILE" + + + diff --git a/scripts/user_info.sh b/scripts/user_info.sh new file mode 100644 index 0000000..a690ed0 --- /dev/null +++ b/scripts/user_info.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +LOG_FILE="../logs/user_info.log" + +read -p "Enter your name: " name +read -p "Enter your age: " age +read -p "Enter your country: " country + +# Validate inputs +if [[ -z "$name" || -z "$age" || -z "$country" ]]; then + echo "Error: All fields are required" | tee -a "$LOG_FILE" + exit 1 + fi + + if ! [[ "$age" =~ ^[0-9]+$ ]]; then + echo "Error: Age must be numeric" | tee -a "$LOG_FILE" + exit 1 + fi + + # Determine age category + if (( age < 18 )); then + category="Minor" + elif (( age <= 65 )); then + category="Adult" + else + category="Senior" + fi + + message="Hello $name from $country! You are an $category." + + echo "$message" | tee -a "$LOG_FILE"