I. Giới thiệu Trong Linux, chúng ta thường cần chạy một số tác vụ dài trong nền, có thể liên quan đến các hoạt động cơ sở dữ liệu, chẳng hạn như thực thi các tập lệnh SQL. Để đảm bảo rằng các tác vụ này có thể tiếp tục chạy ngay cả sau khi thiết bị đầu cuối đã đóng, chúng tôi thường sử dụng lệnh nohup để bắt đầu tác vụ. Bài viết này sẽ giới thiệu chi tiết cách chạy các tập lệnh SQL ở chế độ nohup. 2. Kiến thức nền tảng 1. lệnh nohup: Nó là chữ viết tắt của "nohangup", được sử dụng để chạy lệnh hoặc tập lệnh trong nền, ngay cả khi bạn thoát khỏi thiết bị đầu cuối, lệnh hoặc tập lệnh vẫn sẽ chạy trong nền. Nó thường được sử dụng để chạy các tác vụ dài hạn để tránh gián đoạn tác vụ do tắt thiết bị đầu cuối. 2.SQL script: Một tệp chứa một loạt các câu lệnh SQL được sử dụng để thực hiện các thao tác khác nhau trên cơ sở dữ liệu. 3. Các bước Đầu tiên, chúng ta cần hiểu cách sử dụng lệnh nohup. Nhập định dạng lệnh sau vào thiết bị đầu cuối: nohupcommand& Trong số đó, "command" là lệnh bạn muốn chạy trong nền và "&" có nghĩa là chạy trong nền. Trong ví dụ này, một tập lệnh SQL được thực thi và các bước như sau: 1. Mở Terminal. 2. Sử dụng lệnh 'nohup' để bắt đầu thực thi tập lệnh SQL, ví dụ: 'nohupbash / path / to / ur / sql_script.sql&'. "/path/to/your/sql_script.sql" cần được thay thế bằng đường dẫn thực tế của tập lệnh SQL của bạn. Đồng thời đảm bảo rằng bạn có quyền thực thi tập lệnh. 3. Sau khi lệnh được thực thi, một tệp có tên nohup.out sẽ được tạo trong thư mục hiện tại, chứa tất cả thông tin đầu ra (bao gồm cả thông tin lỗi). Bạn có thể theo dõi việc chạy tác vụ bằng cách xem tệp này. Đồng thời, lệnh nohup trả về jobID, bạn có thể sử dụng để xem trạng thái đang chạy của tác vụ. 4. Nếu bạn cần chấm dứt tác vụ, bạn có thể sử dụng lệnh 'giết' và jobID tương ứng. Hãy cẩn thận khi sử dụng lệnh kill để tránh vô tình giết chết các tiến trình khác. Ngoài ra, lệnh nohup chuyển hướng đầu ra tiêu chuẩn và đầu ra lỗi đến tệp nohup.out trong thư mục hiện tại, do đó không cần chỉ định tệp đầu ra trên dòng lệnh. Nếu bạn muốn chỉ định tệp đầu ra hoặc thay đổi tên tệp đầu ra mặc định, bạn có thể sử dụng toán tử chuyển hướng > để chỉ định đường dẫn và tên của tệp đầu ra. Ví dụ: 'nohupbash/path/to/your/sql_script.sql>/path/to/output_file&'. Điều này cho phép đầu ra của tập lệnh được lưu vào tệp được chỉ định. Những lợi thế của việc chạy các tập lệnh SQL trong chế độ nohup là rõ ràng. Ngay cả khi thiết bị đầu cuối bị tắt hoặc người dùng đăng xuất, tác vụ sẽ tiếp tục chạy trong nền cho đến khi hoàn thành. Điều này rất hữu ích cho các tác vụ yêu cầu các hoạt động cơ sở dữ liệu dài hạn được thực hiện trên máy chủ. Bạn có thể khởi chạy tập lệnh SQL từ xa và kiểm tra trạng thái hoặc kết quả của nó bất cứ lúc nào và bất cứ nơi nào mà không cần phải đăng nhập hoặc sử dụng tài nguyên máy chủ để duy trì phiên đầu cuối hoạt động. Tuy nhiên, hãy cẩn thận để đảm bảo rằng các tập lệnh SQL của bạn hoạt động bình thường trong môi trường dòng lệnh và làm việc với hệ thống quản lý cơ sở dữ liệu bạn đang sử dụng (ví dụ: MySQL, PostgreSQL, v.v.). Các hệ thống quản lý cơ sở dữ liệu khác nhau có thể yêu cầu các công cụ dòng lệnh khác nhau để thực thi các tập lệnh SQL (ví dụ: các công cụ dòng lệnh mysql cho cơ sở dữ liệu MySQL). Cũng chú ý đến các quyền để đảm bảo rằng tài khoản người dùng của bạn có đủ quyền để thực hiện các thao tác trong tập lệnh SQL. Nhìn chung, chạy các tập lệnh SQL ở chế độ nohup là một phương pháp mạnh mẽ và thuận tiện, đặc biệt là khi thực hiện các tác vụ trên máy chủ từ xa. Bằng cách này, bạn có thể dễ dàng chạy một tác vụ dài trong nền và theo dõi trạng thái của nó bất cứ lúc nào mà không phải lo lắng về việc gián đoạn phiên đầu cuối khiến tác vụ không thành công.