From b87c72fed34e925eafbf71f0d63062f4a6e97698 Mon Sep 17 00:00:00 2001 From: Jose-Ice-5 Date: Tue, 31 Mar 2026 21:41:36 +0000 Subject: [PATCH 1/3] feat: complete bash scripts --- backups/backup_20260331_191330.tar.gz | Bin 0 -> 45 bytes backups/backup_20260331_194052.tar.gz | Bin 0 -> 45 bytes backups/backup_20260331_201324.tar.gz | Bin 0 -> 3954 bytes backups/backup_20260331_212620.tar.gz | Bin 0 -> 4500 bytes backups/backup_20260331_213028.tar.gz | Bin 0 -> 4494 bytes log/app.log | 62 ++++++++++++++++++++++++ log/backup.log | 8 ++++ log/file_manager.log | 20 ++++++++ log/process_monitor.log | 12 +++++ log/system_report_2026.log | 66 ++++++++++++++++++++++++++ log/user_info.log | 2 + scripts/.user_info.sh.swn | Bin 0 -> 12288 bytes scripts/.user_info.sh.swo | Bin 0 -> 16384 bytes scripts/.user_info.sh.swp | Bin 0 -> 12288 bytes scripts/backup.sh | 26 ++++++++++ scripts/file_manager.sh | 44 +++++++++++++++++ scripts/process_monitor.sh | 17 +++++++ scripts/run_all.sh | 38 +++++++++++++++ scripts/system_check.sh | 30 ++++++++++++ scripts/user_info.sh | 32 +++++++++++++ 20 files changed, 357 insertions(+) create mode 100644 backups/backup_20260331_191330.tar.gz create mode 100644 backups/backup_20260331_194052.tar.gz create mode 100644 backups/backup_20260331_201324.tar.gz create mode 100644 backups/backup_20260331_212620.tar.gz create mode 100644 backups/backup_20260331_213028.tar.gz create mode 100644 log/app.log create mode 100644 log/backup.log create mode 100644 log/file_manager.log create mode 100644 log/process_monitor.log create mode 100644 log/system_report_2026.log create mode 100644 log/user_info.log create mode 100644 scripts/.user_info.sh.swn create mode 100644 scripts/.user_info.sh.swo create mode 100644 scripts/.user_info.sh.swp 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_20260331_191330.tar.gz b/backups/backup_20260331_191330.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..872c01559ea7ac2302b7d73ae653f7ad29f8981d GIT binary patch literal 45 qcmb2|=3oE==C=nKd4a4$3%>j3@|iDyhyuw5bLLt1WYrlo7#IN4*9i&$ literal 0 HcmV?d00001 diff --git a/backups/backup_20260331_194052.tar.gz b/backups/backup_20260331_194052.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..872c01559ea7ac2302b7d73ae653f7ad29f8981d GIT binary patch literal 45 qcmb2|=3oE==C=nKd4a4$3%>j3@|iDyhyuw5bLLt1WYrlo7#IN4*9i&$ literal 0 HcmV?d00001 diff --git a/backups/backup_20260331_201324.tar.gz b/backups/backup_20260331_201324.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..376c010e4e0872070922099f33ab53256500662f GIT binary patch literal 3954 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 aLSn08Qg0XijrO;129}S_s_5R((ft=O#Gmf~ literal 0 HcmV?d00001 diff --git a/backups/backup_20260331_212620.tar.gz b/backups/backup_20260331_212620.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..6d764e780b135913d2e3235d3349b3cba595b493 GIT binary patch literal 4500 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 T9}aexXbe`Cz(l$&I=cS=eR#E( literal 0 HcmV?d00001 diff --git a/backups/backup_20260331_213028.tar.gz b/backups/backup_20260331_213028.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..edccd54ec127e77fc41dc4c265f512a8e55e3c9f GIT binary patch literal 4494 zcma);cTf|GvWJl(p-UAZ(m{HW7BqrLvCtI|1nEV3azF^ZLqa`(hbE$e6qObb2-1^~ zs31iY5Gf(S01^n17HPTOH+SB<=gz!&@B4RWc4lYx+uurN1DO5`mW_G#IKf>8p2pOa zQG?nq8Rukcdu%^Y#is12=;3nJv|hTaBEO8;0+PlBt0;TqL63NXcZc$xt z)^51`vN(0zw+$;)=!y$l{@J^{vz?0xaNd9x5WSuzY^d*bwKi)bQSqVu)8BVv=Owa- zH-7%gQbTthoc-u^GvNKzYk=WXT2_eZmCB}S{PYB*C4#jo`I7w7xFcTdhepey z`=j;UsKcHi@;deBuj4uD-a(I<$kIKY;ZMp8+H~U8#1%{39~I}ue>6@(1#zD#c7{z2 zSTY2JLB1s)o{pMnsHuK6d?82UeUwWs$MzM+AkAk==;EgdScT8^x*Dan%r|Ssm3Qjf zy=HYhn|;NO4fM3)4Wvk*?bTlHb|TVcUMiv`2wi3A zZ8a_q=yET;KXYnQcFU$F_kG*T+=|CFJx8zj7qthz^_9-xTWS7Nz;WbZOJs`x;>O-w z8~I6Swcxhi-5YOU2|C3>?MQo_N8xvL)OCh~kA(e(%f#K%bUpc|J1vJ-|#k*Ux0lY9L6yyf!fEeQU?fO8R3L zdBF~Aw}US_+9=IfM(GQr_cjrQP1$j4)jUp7`>any@9a6r?L_}b+?b;M)Y}A)7;~{U zPU#-+ZEEr^91J?Yr2km^HMv&Lh>Gp?V^EcTMj!1kB$^jx4;f82+D`fd(JwyO`RY~= ztL*Y7_^j0L#*VGH?`h|aPO^Ea`}rF9DF-)3h_oXj3Zn>jl? z3>d-|9vMr&J*9fy#f_O-euk5M)82_DLHv}NV~{DLc7*NSj$LSGy`|YN1^y1-`E@8<+51!)lIbg7^m&>2 zMZZPoPBoE99!Cr?;Ng zU$TWK1~c@8M_~)k#U#t;)6sKrA^T6F6CP+mW4=d`@#f_n*2%rAfz}Y#v zks)6-BdY6<9mWD~J5l24w8QeJ!^AMC9g@Q6meIanG^~QP&2;HULMM+^;-9#GKd|1s z$X+Y1!>hNKRQvLw-ND3*J6sB%VYkEmsPNaV>K89w+^E@?YsQB}yk-eL9;!W7Xk23} zEckEM&~l`C)$Fd#(1lHZx2Pbfn(W_b+f+Ey>Ljw)?zE6{vdGY0WH5+(l1_-lEv^JK zXIy?5O}7ubLKl)Gne^mGX@`7x_ct0wxkbkpFJ=wDYp@8IGV2e4f?Pg}G-j}^L5}!3 zFW+a_QTFL`Lovshi{DFjCGQvb?JibZydG|~covf0$i?(=Uj8}O8{uQscOuj#HQvCk zG9mk_*3qHF0sf&CA*lR19qK-swYjrRDT7bE(z6i#GG9d-jl{bFzHr9oRiUOD?<(^5 z&K^5{MzIUDq3C>kYHnndQoVw{yA@HFEm55tqGQ6cSao$frx_6J zX3SFEBgZ@qNh3d}m{29}Z}sJXk(`fquxrMbG5IZUzoA+H?zU=5dq6DQNA(e@?w*gi5b!RB!H{4PV{(qROHy8Sk5muA!x+S$NZ zFZ9`EROS9bt$l(~Js1@NmzWjZx~7A@&G9@xx4HzpJ{@B1!9D3Y**qIJv#Kk=WBw)L zz~=aVn2_)~yNs@wjl6ESEB|5KLexPHjG=D1SoO75+>gb%Iv4I&o%<*Qv*UaVgzW}D zho@bWW#+G~5CO%?d2- zw;MnM6osvS2(G6F=*~AP**S!nx)%d_6>=ZV?AfE2N;NwSuVbA|eL5l&wRDRwcKAzu zc;ctR>*Duq<+0WB5mQT3WF;fzO%o&Un6&+%|D?PAlLA?@2c`L&Tz` zZir50lu;RpzdbtP>nDk~O&tb+(^Zh%(yU1R4&1kR)#A=Afnrj$YpxvH)-InzF+=j# z48UmD&k%OLnc!Q2kjwB^%vwr48w&EopW!w=b^4i6BzA8`#KqepIL`{naZsfnBf}@| z6~A*;|LDuG*Dn?ons~yXjZ-p}rq+imp#z^1z2o5fH1!4CT}88AY7qn9u)61LD@BV7{Z~BW&`o95L7FYCn22HXbuoB-s4=c7Y8r? zIY=}c3E&z}>bhZ!3C5loRIRU1O_5@*AB?cX*jo=cJW6$c^Q zW?FGuXr2oc(Ufcd*AzpCOMDI3Fglx&CtDxBlP=~?43Epor%5m1yJ6yC#D_guB{Z30 zk^wliZi`g{BMSrY5e(;2yCLkM7&R1!KH-vU>T3v_Iz}D^I76 zV5+ZEmOKcUN%T;~$*5jsAf8B?t|&oCVIDOVt8gmX_25P?9!UcskG`Gu+25S_jY0Hp~FTJ+4Gd z9~vJ8)G#nqy08)H`cV>fi>D8Lmd^c@ARCvozs0+N7KiaP6Xbi6R%oh~xFQ%ZpXdpO zA3`-YaZga^JBfaC@O7x#@2ErpONd^s@NKC2D6R~2zK-Zq0VhFK^Kf<`f$IcKU`i@P zO2o^M?8#erLn==Z4Px4@Hv?!R|9y~!(j?9tGXvZ+?rPhtdE1mF(JU`IAzj>hMvFCF z6wb_jHIV|}K&o}%if4e2y##m6!gfq0^soo3$)R+W{Cy)wqW)3J(-!7Ml1p5!2F<{5 z2v0vlCEf4I)u&x@8ybf357U5^gLh!e`AhuZGbK`jgzR(u)^JF;un*-;SCEpM@Hz4-KKttdLwQa~T3bwXuaw&%`J=$8eQRMGt-2iErL> z@M%2kn07f~XpGKpM7SK6+PuYPh`B%qND{8}cvo`8urx0TZ}*IIk)xmc({w7aB$yB% z$#^b57OKCA-9QQJlgwT7gFc2^+$H|unw1Te9>sTo#Qlj86MMyAc2)C+k;&C6)oNX zPOUR+qDdz+{NKD?f^*f726{sZtJw>y2yifbcYuy-zp@)0|Mx%FfWyO&Y8<*Wo zlQ+cI(M2VR@jcm{wAyGxs>62NLbg-h$`*GeS`fyaPml&D9YXjv(dSV-odkusq;&{S z6IvL>T|$s?P1=U=j-tkmphlDJz3Gd-p?LAaKXr1;IO}|aaD73EJ2mUW=cnq1(Fs(notV(Y?OHDk= z``2pmE)rDYlE=0<4AJZ`J}N=2CwY2{(+$l9lNcigfDw3_q697#CAm)wokM(ss)XWl zQ4-U{Kv%>tR7o9|4w76U23H^^p~}`c1V{o;d;msMmRNe^Xkwmg=2)WGQ&}G$pQ*|>M^mac!HplXBK>}wIzAhj;jMSLEcn-&d+``; z7)_r1RJ{NQa&vne^5DG_xG4=-b$enzU2ekwnCIF*8GK$!N4Jo3ouxJ}{W5($r+8EheUa00NEf>Hq)$ literal 0 HcmV?d00001 diff --git a/log/app.log b/log/app.log new file mode 100644 index 0000000..3f036d1 --- /dev/null +++ b/log/app.log @@ -0,0 +1,62 @@ +total 24K +-rw-rw-r-- 1 joseph joseph 603 Mar 31 20:06 backup.sh +-rw-rw-r-- 1 joseph joseph 863 Mar 31 18:00 file_manager.sh +-rw-rw-r-- 1 joseph joseph 385 Mar 31 20:58 process_monitor.sh +-rw-rw-r-- 1 joseph joseph 626 Mar 31 21:23 run_all.sh +-rw-rw-r-- 1 joseph joseph 841 Mar 31 15:16 system_check.sh +-rw-rw-r-- 1 joseph joseph 646 Mar 31 14:12 user_info.sh +===== SYSTEM REPORT ===== +--------- Disk Usage --------- +Filesystem Size Used Avail Use% Mounted on +tmpfs 818M 1.6M 816M 1% /run +/dev/sda2 98G 9.8G 84G 11% / +tmpfs 4.0G 0 4.0G 0% /dev/shm +tmpfs 5.0M 8.0K 5.0M 1% /run/lock +tmpfs 818M 148K 818M 1% /run/user/1000 +--------- Memory Usage --------- + total used free shared buff/cache available +Mem: 8172 1526 4552 37 2397 6645 +Swap: 4095 0 4095 +--------- CPU Load --------- + 21:26:20 up 1 day, 24 min, 1 user, load average: 0.01, 0.10, 0.11 +---- total running processes: 204 +----- Top 5 memeory-consuming processes ----- +USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND +joseph 1784 2.8 5.8 4098540 492048 ? Ssl Mar30 41:16 /usr/bin/gnome-shell +joseph 17392 0.1 3.1 1665480 263744 ? Sl 20:32 0:03 /usr/bin/nautilus --gapplication-service +joseph 2248 0.0 2.7 1358796 228068 ? Sl Mar30 0:40 /snap/snapd-desktop-integration/253/usr/bin/snapd-desktop-integration +joseph 1915 0.0 1.3 1138528 109936 ? Sl Mar30 0:01 /usr/libexec/evolution-data-server/evolution-alarm-notify +joseph 14478 0.0 1.1 1109756 98600 ? Sl 12:11 0:00 /usr/libexec/mutter-x11-frames +Backup created: ../backups/backup_20260331_212620.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 Joseph from 9ja! You are an Adult. +===== SYSTEM REPORT ===== +--------- Disk Usage --------- +Filesystem Size Used Avail Use% Mounted on +tmpfs 818M 1.6M 816M 1% /run +/dev/sda2 98G 9.8G 84G 11% / +tmpfs 4.0G 0 4.0G 0% /dev/shm +tmpfs 5.0M 8.0K 5.0M 1% /run/lock +tmpfs 818M 148K 818M 1% /run/user/1000 +--------- Memory Usage --------- + total used free shared buff/cache available +Mem: 8172 1528 4550 37 2397 6644 +Swap: 4095 0 4095 +--------- CPU Load --------- + 21:30:21 up 1 day, 28 min, 1 user, load average: 0.07, 0.09, 0.09 +---- total running processes: 206 +----- Top 5 memeory-consuming processes ----- +USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND +joseph 1784 2.8 5.8 4094668 492048 ? Ssl Mar30 41:22 /usr/bin/gnome-shell +joseph 17392 0.1 3.1 1665480 263872 ? Sl 20:32 0:03 /usr/bin/nautilus --gapplication-service +joseph 2248 0.0 2.7 1358796 228068 ? Sl Mar30 0:40 /snap/snapd-desktop-integration/253/usr/bin/snapd-desktop-integration +joseph 1915 0.0 1.3 1138528 109936 ? Sl Mar30 0:01 /usr/libexec/evolution-data-server/evolution-alarm-notify +joseph 14478 0.0 1.1 1109756 98600 ? Sl 12:11 0:00 /usr/libexec/mutter-x11-frames +Backup created: ../backups/backup_20260331_213028.tar.gz +Old backups cleaned up diff --git a/log/backup.log b/log/backup.log new file mode 100644 index 0000000..2b4cb3b --- /dev/null +++ b/log/backup.log @@ -0,0 +1,8 @@ +Error: Directory does not exist +Usage: backup.sh +Backup created: ../backups/backup_20260331_201324.tar.gz +Old backups cleaned up +Backup created: ../backups/backup_20260331_212620.tar.gz +Old backups cleaned up +Backup created: ../backups/backup_20260331_213028.tar.gz +Old backups cleaned up diff --git a/log/file_manager.log b/log/file_manager.log new file mode 100644 index 0000000..57a5ccb --- /dev/null +++ b/log/file_manager.log @@ -0,0 +1,20 @@ +file created: sample.txt +file already exists! +total 12K +-rw-rw-r-- 1 joseph joseph 852 Mar 31 17:16 file_manager.sh +-rw-rw-r-- 1 joseph joseph 0 Mar 31 17:16 sample.txt +-rw-rw-r-- 1 joseph joseph 841 Mar 31 15:16 system_check.sh +-rw-rw-r-- 1 joseph joseph 646 Mar 31 14:12 user_info.sh +Renamed sample.txt to sample2.txt +Renamed sample.txt to sample2.txt +Renamed sample.txt to sample1.txt +Renamed sample.txt to sample1.txt +Renamed sample.txt to sample1.txt +file deleted: sample1.txt +total 24K +-rw-rw-r-- 1 joseph joseph 603 Mar 31 20:06 backup.sh +-rw-rw-r-- 1 joseph joseph 863 Mar 31 18:00 file_manager.sh +-rw-rw-r-- 1 joseph joseph 385 Mar 31 20:58 process_monitor.sh +-rw-rw-r-- 1 joseph joseph 626 Mar 31 21:23 run_all.sh +-rw-rw-r-- 1 joseph joseph 841 Mar 31 15:16 system_check.sh +-rw-rw-r-- 1 joseph joseph 646 Mar 31 14:12 user_info.sh diff --git a/log/process_monitor.log b/log/process_monitor.log new file mode 100644 index 0000000..cb15e9d --- /dev/null +++ b/log/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/log/system_report_2026.log b/log/system_report_2026.log new file mode 100644 index 0000000..4dfc18f --- /dev/null +++ b/log/system_report_2026.log @@ -0,0 +1,66 @@ +===== SYSTEM REPORT ===== +--------- Disk Usage --------- +Filesystem Size Used Avail Use% Mounted on +tmpfs 818M 1.6M 816M 1% /run +/dev/sda2 98G 9.8G 84G 11% / +tmpfs 4.0G 0 4.0G 0% /dev/shm +tmpfs 5.0M 8.0K 5.0M 1% /run/lock +tmpfs 818M 160K 818M 1% /run/user/1000 +--------- Memory Usage --------- + total used free shared buff/cache available +Mem: 8172 1896 4203 71 2410 6275 +Swap: 4095 0 4095 +--------- CPU Load --------- + 15:19:38 up 18:17, 1 user, load average: 0.53, 0.12, 0.04 +---- total running processes: 204 +----- Top 5 memeory-consuming processes ----- +USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND +joseph 2528 0.1 6.6 1947756 559628 ? Sl Mar30 1:22 /usr/bin/nautilus --gapplication-service +joseph 1784 2.8 6.2 4129384 524168 ? Rsl Mar30 31:05 /usr/bin/gnome-shell +joseph 2834 0.0 3.9 1553160 332008 ? Sl Mar30 0:56 /snap/snap-store/1248/bin/snap-store +joseph 1915 0.0 1.3 1138528 109936 ? Sl Mar30 0:01 /usr/libexec/evolution-data-server/evolution-alarm-notify +joseph 14478 0.0 1.1 1109756 98600 ? Sl 12:11 0:00 /usr/libexec/mutter-x11-frames +===== SYSTEM REPORT ===== +--------- Disk Usage --------- +Filesystem Size Used Avail Use% Mounted on +tmpfs 818M 1.6M 816M 1% /run +/dev/sda2 98G 9.8G 84G 11% / +tmpfs 4.0G 0 4.0G 0% /dev/shm +tmpfs 5.0M 8.0K 5.0M 1% /run/lock +tmpfs 818M 148K 818M 1% /run/user/1000 +--------- Memory Usage --------- + total used free shared buff/cache available +Mem: 8172 1526 4552 37 2397 6645 +Swap: 4095 0 4095 +--------- CPU Load --------- + 21:26:20 up 1 day, 24 min, 1 user, load average: 0.01, 0.10, 0.11 +---- total running processes: 204 +----- Top 5 memeory-consuming processes ----- +USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND +joseph 1784 2.8 5.8 4098540 492048 ? Ssl Mar30 41:16 /usr/bin/gnome-shell +joseph 17392 0.1 3.1 1665480 263744 ? Sl 20:32 0:03 /usr/bin/nautilus --gapplication-service +joseph 2248 0.0 2.7 1358796 228068 ? Sl Mar30 0:40 /snap/snapd-desktop-integration/253/usr/bin/snapd-desktop-integration +joseph 1915 0.0 1.3 1138528 109936 ? Sl Mar30 0:01 /usr/libexec/evolution-data-server/evolution-alarm-notify +joseph 14478 0.0 1.1 1109756 98600 ? Sl 12:11 0:00 /usr/libexec/mutter-x11-frames +===== SYSTEM REPORT ===== +--------- Disk Usage --------- +Filesystem Size Used Avail Use% Mounted on +tmpfs 818M 1.6M 816M 1% /run +/dev/sda2 98G 9.8G 84G 11% / +tmpfs 4.0G 0 4.0G 0% /dev/shm +tmpfs 5.0M 8.0K 5.0M 1% /run/lock +tmpfs 818M 148K 818M 1% /run/user/1000 +--------- Memory Usage --------- + total used free shared buff/cache available +Mem: 8172 1528 4550 37 2397 6644 +Swap: 4095 0 4095 +--------- CPU Load --------- + 21:30:21 up 1 day, 28 min, 1 user, load average: 0.07, 0.09, 0.09 +---- total running processes: 206 +----- Top 5 memeory-consuming processes ----- +USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND +joseph 1784 2.8 5.8 4094668 492048 ? Ssl Mar30 41:22 /usr/bin/gnome-shell +joseph 17392 0.1 3.1 1665480 263872 ? Sl 20:32 0:03 /usr/bin/nautilus --gapplication-service +joseph 2248 0.0 2.7 1358796 228068 ? Sl Mar30 0:40 /snap/snapd-desktop-integration/253/usr/bin/snapd-desktop-integration +joseph 1915 0.0 1.3 1138528 109936 ? Sl Mar30 0:01 /usr/libexec/evolution-data-server/evolution-alarm-notify +joseph 14478 0.0 1.1 1109756 98600 ? Sl 12:11 0:00 /usr/libexec/mutter-x11-frames diff --git a/log/user_info.log b/log/user_info.log new file mode 100644 index 0000000..b3c1687 --- /dev/null +++ b/log/user_info.log @@ -0,0 +1,2 @@ +Hello Joseph from 9ja! You are an Adult. +Hello Joseph from 9ja! You are an Adult. diff --git a/scripts/.user_info.sh.swn b/scripts/.user_info.sh.swn new file mode 100644 index 0000000000000000000000000000000000000000..e1d20775122163c7ee82be16c67807d6df001571 GIT binary patch literal 12288 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 literal 0 HcmV?d00001 diff --git a/scripts/.user_info.sh.swp b/scripts/.user_info.sh.swp new file mode 100644 index 0000000000000000000000000000000000000000..a1f7308a645d170c2b92f2fd204554f058f5c478 GIT binary patch literal 12288 zcmeI%Jxjw-7>41u?xNH`(3;t%RU91E$-%L%lGbPGdUy6m zxB>wL5I_I{1Q0*~0R;YyK$h0*LU%J)+)=%lYrp1Vmk9v`5I_I{1Q0*~0R#|0009Il zC=eW&oh_JMs{H@|$@BlG_CM4}y{k9%s$SHydQy+-LEWo6b*paFwYpN@YgW*NpNs$k h2q1s}0tg_000IagfIx)=Jg;fn8e65YX+I-BZeP}IG?oAW literal 0 HcmV?d00001 diff --git a/scripts/backup.sh b/scripts/backup.sh new file mode 100644 index 0000000..79d632f --- /dev/null +++ b/scripts/backup.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +SOURCE_DIR=$1 +BACKUP_DIR="../backups" +LOG_FILE="../log/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..2397320 --- /dev/null +++ b/scripts/file_manager.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +LOG_FILE="../log/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?" | tee -a "$LOG_FILE" + ;; + esac + diff --git a/scripts/process_monitor.sh b/scripts/process_monitor.sh new file mode 100644 index 0000000..91338e4 --- /dev/null +++ b/scripts/process_monitor.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +LOG_FILE="../log/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..54b320b --- /dev/null +++ b/scripts/run_all.sh @@ -0,0 +1,38 @@ +#!/bin/bash +set -euo pipefail + +LOG_FILE="../log/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..916f1d6 --- /dev/null +++ b/scripts/system_check.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +DATE=$(date +"%Y") +LOG_FILE="../log/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 Warnig +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 memeory-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..6287c68 --- /dev/null +++ b/scripts/user_info.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +LOG_FILE="../log/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" + + From 954afd66da12ff5d0861940b770964886a368798 Mon Sep 17 00:00:00 2001 From: Jose-Ice-5 Date: Wed, 1 Apr 2026 23:43:55 +0000 Subject: [PATCH 2/3] New file 3 --- file_manager.sh | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 file_manager.sh diff --git a/file_manager.sh b/file_manager.sh new file mode 100644 index 0000000..e9e9032 --- /dev/null +++ b/file_manager.sh @@ -0,0 +1,2 @@ +# jonas dairy + From 3988f057798f79cafc2299efb97a3ede834af943 Mon Sep 17 00:00:00 2001 From: Jose-Ice-5 Date: Thu, 2 Apr 2026 16:20:40 +0000 Subject: [PATCH 3/3] add simple1 and update file_manager script --- scripts/file_manager.sh | 2 +- scripts/simple1 | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 scripts/simple1 diff --git a/scripts/file_manager.sh b/scripts/file_manager.sh index 2397320..711e444 100644 --- a/scripts/file_manager.sh +++ b/scripts/file_manager.sh @@ -28,7 +28,7 @@ case "$ACTION" in ;; rename) - NEW_NAME=$3 + NEW_NAME=$3 if [[ -f "$FILE" ]]; then mv "$FILE" "$NEW_NAME" diff --git a/scripts/simple1 b/scripts/simple1 new file mode 100644 index 0000000..7a693aa --- /dev/null +++ b/scripts/simple1 @@ -0,0 +1,3 @@ +#!/bin/bash + +