sách gpt4 ăn đã đi

Giải pháp sao lưu theo lịch trình của MySQL (sử dụng Linux crontab)

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 27 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN Giải pháp sao lưu theo lịch trình MySQL (sử dụng Linux crontab) này được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này thì nhớ like nhé.

Lời nói đầu.

Mặc dù trên đời này tình yêu nào đó cũng có giá của nó, nhưng dữ liệu là vô giá, việc sao lưu dữ liệu là đặc biệt quan trọng. Nếu một ngày nào đó bạn vô tình xóa cơ sở dữ liệu, bạn cũng không cần phải vội vàng bỏ chạy.

Giải pháp sao lưu theo lịch trình của MySQL (sử dụng Linux crontab)

Giải pháp được giới thiệu trong bài viết này là sử dụng chức năng tác vụ theo lịch trình crontab của Linux để thường xuyên thực thi tập lệnh cơ sở dữ liệu sao lưu.

Điểm kỹ thuật:

  • Lệnh kết xuất sao lưu cơ sở dữ liệu
  • tập lệnh shell
  • crontab tác vụ theo lịch trình của Linux

Kết xuất sao lưu dữ liệu.

Mọi cơ sở dữ liệu đều có lệnh xuất dữ liệu và cấu trúc trong cơ sở dữ liệu, đó là lệnh sao lưu.

Khôi phục dữ liệu đã sao lưu sẽ xóa và xây dựng lại các bảng trong dữ liệu gốc, sau đó chèn dữ liệu vào bản sao lưu. Đây là recovery.

Cần lưu ý rằng nếu dữ liệu trước khi khôi phục nhiều hơn bản sao lưu thì dữ liệu bổ sung sẽ bị mất sau khi khôi phục.

Liệt kê các lệnh sao lưu và phục hồi cho hai cơ sở dữ liệu mà tôi thường sử dụng.

postgresql

Sao lưu pg_dump -h [ip] -U [tên người dùng] [tên thư viện] > [tệp .sql đã xuất].

Khôi phục psql -s [tên thư viện] -f [xuất tệp .sql].

mysql

Sao lưu mysqldump -h -u [tên người dùng] -p [tên thư viện] > [tệp .sql đã xuất].

Khôi phục mysql -u [tên người dùng] -p [tên thư viện] < [tệp .sql đã xuất].

tập lệnh shell.

Để hoàn thành một giải pháp sao lưu đầy đủ chức năng, cần có tập lệnh shell.

Chúng tôi muốn tập lệnh này sao lưu vào đường dẫn đã chỉ định, nén và lưu trữ tối đa 30 tệp, xóa những tệp cũ nhất nếu chúng vượt quá 30 và ghi lại nhật ký hoạt động.

Đừng nói gì nữa, tất cả đều có trong kịch bản, hãy làm thôi! .

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#tên người dùng
tên người dùng=root
#mật khẩu
mật khẩu=nicai
#Cơ sở dữ liệu cần được sao lưu
database_name=tôi_yêu_bạn
 
#Save số lượng tệp sao lưu tối đa
đếm=30
#Sao lưu đường dẫn lưu
đường dẫn sao lưu= /ứng dụng/mysql_backup
#ngày
ngày_giờ=` ngày +%Y-%m-%d-%H-%M`
 
#Tạo thư mục nếu nó không tồn tại
nếu như [ ! -d $đường_dẫn_sao_sao];
sau đó
  mkdir -p $đường_dẫn_sao lưu;
#Bắt đầu sao lưu
mysqldump -u $username -p$password $database_name > $backup_path/$database_name-$date_time.sql
#Bắt đầu nén
đĩa CD $đường_dẫn_sao_sao
mất -zcvf $tên_cơ_sở_dữ_liệu-$ngày_giờ. mất .gz $database_name-$date_time.sql
#Xóa tệp nguồn
rm -rf $backup_path/$tên_cơ_sở_sở_dữ_liệu-$date_time.sql
#Cập nhật nhật ký sao lưu
tiếng vọng "tạo $backup_path/$database_name-$date_time.tar.gz" >> $đường dẫn sao lưu /bãi rác .log
 
#Tìm bản sao lưu cần xóa
tới delphi=` -l -crt $đường_dẫn_sao lưu/*. mất .gz | ôi '{in $9 }' | cái đầu -1`
 
#Xác định xem số bản sao lưu hiện tại có lớn hơn ngưỡng không
số=` -l -crt $đường_dẫn_sao lưu/*. mất .gz | ôi '{in $9 }' | nhà vệ sinh -tôi
 
nếu như [ $number -gt $count ]
sau đó
  #Xóa bản sao lưu được tạo sớm nhất và chỉ đếm số lượng bản sao lưu
  rm tới $delphi
  #Cập nhật nhật ký tệp đã xóa
  tiếng vọng "xóa $delfile" >> $đường dẫn sao lưu /bãi rác .log

Đặt cho tập lệnh một cái tên đẹp dump_mysql.sh như tên gợi ý.

Cấp cho tập lệnh quyền thực thi chmod +x dump_mysql.sh Sau khi thực thi, tập lệnh sẽ chuyển sang màu xanh và nó sẽ là một tệp thực thi.

Phương thức thực thi: ./add tên tập lệnh.

Ý nghĩa của các tham số lệnh chmod - + đại diện cho việc thêm các quyền nhất định và x đại diện cho các quyền thực thi.

crontab nhiệm vụ theo lịch trình.

Crontab là một chức năng tác vụ theo lịch trình đi kèm với Linux. Chúng ta có thể sử dụng nó để thực thi tập lệnh dump_mysql.sh một lần vào mỗi buổi sáng.

sử dụng crontab

  • crontab -l Xem danh sách tác vụ đã lên lịch
  • crontab -e chỉnh sửa (thêm/xóa) tác vụ đã lên lịch

Chạy lệnh crontab -e, mở một văn bản có thể chỉnh sửa và nhập 00 01 * * * /app/dump_mysql.sh.

Tiết kiệm vốn và thoát ra để hoàn thành việc bổ sung.

Giải thích nội dung:

00 01 * * * /app/dump_mysql.sh được chia thành hai phần.

Phần đầu tiên 00 01 * * * là khoảng thời gian của tác vụ đã lên lịch và phần thứ hai /app/dump_mysql.sh là những việc cần làm khi đến lúc.

Biểu thức khoảng thời gian là năm phần giữ chỗ, biểu thị: phút, giờ, ngày, tháng và tuần.

Phần giữ chỗ sử dụng * để biểu thị mỗi ngày. Phần giữ chỗ đầu tiên là mỗi phút, phần giữ chỗ thứ hai là mỗi giờ, v.v.

Trình giữ chỗ sử dụng một số cụ thể để biểu thị thời gian cụ thể. 10 được sử dụng ở vị trí đầu tiên để biểu thị 10 phút, được sử dụng ở vị trí thứ ba để biểu thị thứ 10, v.v.

Trình giữ chỗ sử dụng - để biểu thị khoảng thời gian, 5-7 được sử dụng ở vị trí đầu tiên để biểu thị 5 phút đến 7 phút, được sử dụng ở vị trí thứ năm để biểu thị từ Thứ Sáu đến Chủ Nhật, v.v.

Phần giữ chỗ sử dụng / để biểu thị khoảng thời gian. Nếu 5-10/2 được sử dụng ở vị trí đầu tiên, điều đó có nghĩa là có một khoảng thời gian là 2 phút giữa 5 phút và 10 phút. Khi được sử dụng ở vị trí thứ hai, điều đó có nghĩa là có. là khoảng thời gian 2 giờ từ 5 giờ đến 10 giờ, v.v.

Trình giữ chỗ sử dụng , để biểu thị danh sách, 5 và 10 được sử dụng ở vị trí đầu tiên để biểu thị 5 điểm và 10 điểm, được sử dụng ở vị trí thứ tư để biểu thị tháng 5 và tháng 10, v.v.

Tóm tắt.

Đến đây là kết thúc bài viết về giải pháp sao lưu theo lịch trình của MySQL. Để biết thêm nội dung sao lưu theo lịch trình của MySQL có liên quan, vui lòng tìm kiếm các bài viết trước của tôi hoặc tiếp tục duyệt các bài viết liên quan bên dưới. Tôi hy vọng bạn sẽ ủng hộ tôi trong tương lai! .

Liên kết gốc: https://segmentfault.com/a/1190000023285648.

Cuối cùng, bài viết này về giải pháp sao lưu theo lịch trình của MySQL (sử dụng crontab Linux) kết thúc tại đây. Nếu bạn muốn biết thêm về giải pháp sao lưu theo lịch trình của MySQL (sử dụng crontab Linux), vui lòng tìm kiếm các bài viết về CFSDN hoặc tiếp tục duyệt các bài viết liên quan. tất cả sẽ ủng hộ blog của tôi trong tương lai! .

27 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress