Category Archives: Bash Shell

Tạo crontab lập lịch (schedule) database trong mysql ra từng file.

Database là nơi chứa nội dung của ứng dụng, web.. và tần xuất update cũng cao. Vì vậy việc thường xuyên backup database sẽ tránh được những trường hợp mất dữ liệu đáng tiếc.
Script bên dưới sẽ backup từng database, lưu ra từng file với tên file có kèm phần hậu tố là thời gian tạo file để thứ tự năm tháng ngày sẽ dể sort khi kiếm hơn.
Thêm giờ phút giây để tránh bị trùng tên nếu backup nhiều lần trong ngày.
File backup sẽ được nén lại, vì việc nén file text giúp tiết kiệm rất nhiều không gian lưu trữ.
Continue reading Tạo crontab lập lịch (schedule) database trong mysql ra từng file.

Dùng những arguments xác định thời gian khi tìm kiếm với lệnh find, xóa những file backup cũ hơn n ngày.

Khi sử dụng Server chắc chắn sẽ có dùng đến backup, có thể là backup không lưu trữ cùng với Server, nhưng thường các file backup sẽ được đặt chung 1 ở một nơi và có nhiều version.

Backup có thể được tạo ra bằng nhiều cách và không phải lúc nào cũng có thể sử dụng version control.
Vì vậy vấn đề xóa những file backup cũ là cần thiết để giải phóng không gian lưu trữ.
Continue reading Dùng những arguments xác định thời gian khi tìm kiếm với lệnh find, xóa những file backup cũ hơn n ngày.

Tìm những folder, file có dung lượng lớn chứa trong 1 folder để giải phóng HDD ?

HDD gần hết dung lượng và chúng ta cần check xem folder nào đang chiếm dung lượng và truy dần ra lý do chiếm dung lượng, có thể là binary log của mysql, log không rotate của apache, hoặc những folder có file được lưu giữ mà không cần thiết.
Continue reading Tìm những folder, file có dung lượng lớn chứa trong 1 folder để giải phóng HDD ?

Khác nhau khi sử dụng braces {} và parentheses () trong Bash Shell

Cả hai đều có chức năng để gom nhóm các câu lệnh để có thể xuất output đến một file hoặc một command nào đó.

Tuy nhiên:
– Khi sử dụng {} bạn cần có khoản trắng giữa hai đầu { và }. Và kết thúc là một semicolon ;. Còn () thì không yêu cầu như vậy.

– Khi sử dụng () bạn đang sử dụng một dạng tương tự của shell, một con của shell hiện tại gọi là subshell.

– Khi sử dụng () các biến môi trường của bạn sẽ không bị thay đổi, ví dụ như bạn sử dụng cd command để đến một thư mục khác, sau khi subshell đó kết thúc các biến môi trường của bạn vẫn không bị thay đổi. Trong khi đó với {} nó sẽ sử dụng trực tiếp biến môi trường của shell hiện tại, vì vậy nếu bạn cd trong {} thì sau thoát khi ra ngoài, mọi thứ sẽ thay đổi.