1. Các lệnh xem thông tin hệ thống
- Kiểm tra user tồn tại: $ id user
- Thông tin CPU: $ less /proc/cpuinfo
- Xem thông tin RAM: $ free hoặc $ free -m hoặc $ cat /proc/meminfo
- Xem thông tin HDD: $ df -h
#xem dung luong toan bo server
df -h
#xem dung luong trong folder
du -h /u01/
du -hs /u01
du -hs /u01/*
du -sh *
- Lệnh theo dõi CPU: $ top -c
- Lệnh kiểm tra hệ điều hành: $ uname -a
- Lệnh kiểm tra phiên bản hệ điều hành: $ cat /etc/redhat-release
- Lệnh kiểm tra tốc độ đọc ghi HDD: $ dd if=/dev/zero of=1GB.tmp bs=1024 count=1M conv=fdatasync
- Tìm xem process dang chay: $ ps aux | less
- Dùng lệnh stop tiến trình đang chạy: $ kill -9 PID
2. Start & Stop HĐH
- Shutdown: $ shutdown -r now
- Restart: $ reboot now
3. Các lệnh kiểm tra kết nối
- $ traceroute --tcp -p 80 220.235.1.2
- $ telnet 210.235.1.2 80
- $ ping 220.235.1.2
4. Thao tác file & folder
- Coppy file & folder: $ cp -rf \u02\Folder1 \u02\Folder2
- Nén folder: $ zip -r \u02\Folder1.zip \u02\Folder1
- Xóa folder: $ rm -rf FOLDER
- Xóa file trong folder: $ rmdir FOLDER- Cấp quyền: $ chown userabc Folder1
- Cấp quyền tác động: $ chmod +x file.sh
- Tìm kiếm file trong folder và set quyền 644 cho file
$ chmod 644 $(find /u02/apache-tomcat-7/apache-tomcat-7/ -type f)+ Tìm kiếm folder và set quyền 755 cho folder
$ chmod 755 $(find /u02/apache-tomcat-7/apache-tomcat-7/ -type d)
- Chown: sudo chown -R taikhoan:taikhoan /u02/*
5. Cài đặt ứng dụng.
a. Cài đặt RPM(Red Hat Package Management)
+ Cài đặt một gói phần mềm: $ rpm -i
+ Để theo dõi quá trình install, có thể thêm tham số: $ rpm –ivh
+ Nếu quá trình cập nhật lên bị lỗi thì cài lại gói cũ: $ rpm -Uvh --oldpackage [Gói cũ]
+ Có 1 file RPM mà không biết là phần mềm nào, để lấy thông tin: $ rpm -qpi file.rpm.+ Xóa package: $ rpm -e PACKAGE
+ Hiện danh sách tất cả thành phần có nguy cơ hư hại nếu quá trình gỡ bỏ xuất hiện lỗi: $ rpm -e --test file.rpm
+ Sẽ gỡ bỏ gói, nhưng không cần kiểm tra nếu các thành phần gói khác bị phá hủy: $ rpm -e --nodeps PACKAGE
+ Nếu đã lỡ xóa một vài file nào đó và không chắc chắn rằng file đó đang còn cần thiết cho chương trình nào đó, bạn có thể xem thử hệ thống đang thiếu file cần thiết nào: $rpm –Va.
b. Cài đặt TAR
Một kiểu cài đặt phần mềm phổ biến khác là bạn cài đặt từ các gói mã nguồn, thường được viết bằng ngôn ngữ C. Các gói này có dạng file nén *.TAR.GZ, *.BZ hoặc *.SRC.RPM. Trong trường hợp này, máy tính của bạn phải có sẵn các bộ công cụ biên dịch và các thư viện lập trình.
Sở dĩ phải có dạng TAR vì các file phải được gói lại thành một file trước khi nén thành GZ hoặc BZ, chứ không thể nén trực tiếp từ nhiều file thành một file nén được. Bản thân file *.TAR không phải là một file nén mà chỉ là một file chứa một tập các file khác gom lại mà thôi.
Với các gói nén bằng TAR.GZ, bạn bung nén như sau: $ tar xvzf file.tar.gz.
Sau khi giải nén, một thư mục chứa các file trong file nén được tạo ra. Bạn vào thư mục này và thực hiện quá trình biên dịch theo như file INSTALL hướng dẫn. Các bước thông thường (chứ không phải tất cả) là như sau:
$ ./configure;
$ make;
$ make install.
Bước chạy lệnh configure là để chương trình script xác lập cấu hình hệ thống cho việc biên dịch chương trình. Tùy vào cấu hình máy mà có chế độ biên dịch phù hợp và tối ưu cho chính hệ thống đó.
Lệnh make dùng để biên dịch mã nguồn thành file thực thi. Sau đó lệnh install để cài đặt file đã biên dịch lên hệ thống.
Fix lỗi rm cannot remove `libtoolT' khi chạy ./configure;
config.status: executing libtool commands
rm: cannot remove `libtoolT': No such file or directory
edit file configure, thêm $ trước rm của " rm -f "$cfgfile" "=> $rm -f "$cfgfile"
c. Cài đặt YUM(Yellowdog Updater, Modified)
Là công cụ quản lý cài đặt tự động cho các hệ thống
- Cấu hình
sử dụng manpage để biết chi tiết:+ Xem manpage: $ man yum.conf
+ Xem nội dung $ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=centos-release
tolerant=1
exactarch=1
retries=20
obsoletes=1
gpgcheck=1
YUM tìm kiếm các máy chủ tại thư mục: /etc/yum.repos.d. Nội dung của chúng như sau:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
Bạn nên chọn các máy chủ phù hợp để việc cài đặt được nhanh chóng.
- Cài đặt: $ yum install Tên_gói_1 Tên_gói_2 ...
Sau khi chạy lệnh này, yum sẽ tự động tải về từ các máy chủ đã được cấu hình ở phần trên, bao gồm cả các gói phụ thuộc, sau đó thực hiện việc cài đặt (có lẽ ở bước này nó sẽ gọi lệnh rpm). Lẽ dĩ nhiên là nó cần cómạng hoặc đĩa CD, DVD.
- Gỡ bỏ: $ yum remove <tên_gói>
- Liệt kê các gói đã cài và tìm kiếm: $ yum list
+ Việc cài đặt và gỡ bỏ yêu cầu bạn chỉ ra tên gói một cách chính xác. Do vậy việc tìm kiếm và liệt kê là cần thiết.
+ Nên sử dụng lệnh trên kết hợp với lệnh 'more' để thuận tiện cho việc đọc và dễ tìm kiếm.
- Tìm kiếm: $ yum search [Tên liên quan].
- Lấy thông tin của gói: $ yum info [Tên gói]
- Xem các gói phụ thuộc: $ yum deplist
- Cập nhật cơ sở dữ liệu và phần mềm
- Lấy dữ liệu mới về và so sánh: $ yum check-update
- Nâng cấp phần mềm lên phiên bản mới hơn: $ yum update
- Xóa dữ liệu cũ mà YUM đã tải về để giải phóng đĩa cứng? Đơn giản, chỉ cần gõ: $ yum clean all
d. Thiết lập Yum local
#cd /etc/yum.repos.d/
#mkdir backup
#cp -rf *.repo backup/
#rm -rf *.repo
#vi local.repo
[CentosOS6.5-Repository]
name=DVD-CentOS6.5 repository
baseurl=file:///u01/setup/dvd1/
file:///u01/setup/dvd2/
enableed=1
gpgcheck=0
# mount /u01/setup/iso/CentOS-6.5-i386-bin-DVD1.iso /u01/setup/dvd1/ -o loop
# mount /u01/setup/iso/CentOS-6.5-i386-bin-DVD2.iso /u01/setup/dvd2/ -o loop
6. Cài đặt Sudo
$ yum install sudo
$ vim /etc/sudoers
#### CAP QUYEN CHO ACCOUNT. SUDO KHONG CAN PASS
tentaikhoan ALL=(ALL) NOPASSWD: ALL
7. Tạo user
#add user
useradd <username>
#password
passwd <username>
Config ssh
vi /etc/ssh/sshd_config
AllowUsers user1 user2 user3
service sshd restart
Set memory:
vi /etc/security/limits.conf
#config
taikhoan soft nofile 4096
taikhoan hard nofile 10240
#check
ulimit -Hn
8. Khác
- curl -I http://192.168.250.47
- curl -k -L -I https://192.168.250.52
- curl --noproxy \* -D - --insecure https://127.0.0.1:8816/messageReceiver
- openssl s_client -connect 127.0.0.1:8443
- lsof -i tcp:443
- Xuất Log: grep -R Noidungcantim * >> filetemp.txt
- Trace: sudo /bin/traceroute -nT -p 3306 10.20.6.39
TCPDUMP
- tcpdump -i eth0 -s 1024 -A tcp port 80
sudo tcpdump host 10.x.x.x -w log.pcap
sudo tcpdump -i eth1 host 10.x.x.x and port 8801 -w p.pcap
sudo tcpdump -i eth1 host 10.x.x.x and port 8801
Xem log
tcpdump -qns 0 -X -r log.pcap
ADD ROUTE
- route add -net 10.35.0.0 netmask 255.255.0.0 gw 10.35.5.1 dev eth0
- route -n
# Xem dia chi public
- ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
### tim port boi PID
- ps aux | grep 3813
##XEM TRANG THAI IP
- service iptables status | grep 10.35.51.123
#####
- lsof -c haproxy -c init
#To list user specific opened files
- lsof -u user_name
#Process running on a port
- lsof -i :port_number
#Lists open files for TCP port ranges 1-1024
- lsof -i :1-1024
#Lists by pid
- lsof -p PID
#Kill all activity for a particular user
- killall -9 `lsof -t -u username`
#Opened files in a directory
- lsof +D path_of_the_directory
#Opened files based on process names
- lsof -c ssh
#Lists only IPv4 and IPv6 open files
- lsof -i 4 - For IPv4
#List all TCP or UDP connections
- lsof -i tcp; lsof -i udp;
## NETSTAT
netstat -atnp | grep ESTA
##NMAP
## Scan port 80
nmap -p 80 192.168.1.1
## Scan TCP port 80
nmap -p T:80 192.168.1.1
## Scan UDP port 53
nmap -p U:53 192.168.1.1
## Scan two ports ##
nmap -p 80,443 192.168.1.1
## Scan port ranges ##
nmap -p 80-200 192.168.1.1
## Combine all options ##
nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.1.1
nmap -p U:53,111,137,T:21-25,80,139,8080 server1.cyberciti.biz
nmap -v -sU -sT -p U:53,111,137,T:21-25,80,139,8080 192.168.1.254
## Scan all ports with * wildcard ##
nmap -p "*" 192.168.1.1
## Scan top ports i.e. scan $number most common ports ##
nmap --top-ports 5 192.168.1.1
nmap --top-ports 10 192.168.1.1
#26: Scan a firewall for packets fragments
nmap -f 192.168.1.1
nmap -f fw2.nixcraft.net.in
nmap -f 15 fw2.nixcraft.net.in
## Set your own offset size with the --mtu option ##
nmap --mtu 32 192.168.1.1
Upzip
gunzip /u01/bac/test/*/*/*.gz
BACKUP MYSQL
/usr/bin/mysqldump -p3306 -h 10.20.6.26 -u TENTKMYSQL -pPASSTAIKHOAN TENDATABASE > /u01/applications/backup_sql/$(date +%F)_TÈNILE_db_full.sql
find /u01/applications/backup_sql/ -type f -mtime +7 -exec rm {} +
rsync -r -v --progress -e ssh /u01/applications/backup_sql root@10.20.5.27:/u01/applications/backup_mysql
- Backup db tới thư mục /u01/applications/backup_sql với tên file là ngày hiện tại
- Xóa các backup có thời gian lớn hơn 7 ngày
- Sync chéo thư mục backup tới server 10.20.5.27
Sau đó tạo cron job để chạy scrip này lúc 1h
- crontab –e
- Thêm một dòng có nội dung như sau : 0 1 * * * /u01/mysql_backup.sh
TÌM LOCK TABLE VÀ KILL
SHOW OPEN TABLES;
SHOW FULL PROCESSLIST;
kill 1007506
CONECT FTP
ftp IP PORT
put link_file_soure link_file_des
vd: put /u01/text.txt text.txt
FIX LỖI unknown host
[user@localhost bin]$ ping android.googleapis.com
ping: unknown host android.googleapis.com
cat /etc/resolv.conf
# Generated by NetworkManager
search APP01
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
nameserver 8.8.8.8
nameserver 8.8.8.4
[user@localhost sbin]$ ldconfig -p | grep "libcrypto.so.1.0.0"
libcrypto.so.1.0.0 (libc6,x86-64) => /lib64/libcrypto.so.1.0.0
Cai dat MySQL
sudo yum -y install mysql-server
Start: sudo /etc/init.d/mysqld start
Tao tai khoan MySQL
use mysql
select user, host from user;
CREATE USER 'user'@'%' IDENTIFIED BY 'abc123';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Không có nhận xét nào:
Đăng nhận xét