Điểm:2

Làm cách nào để xóa hàng loạt người dùng?

lá cờ kr

Trang web của tôi đã bị tấn công và tôi đã nhờ một dịch vụ trực tuyến xóa sạch nó. Tuy nhiên, nó hiện có hơn 150.000 tài khoản người dùng, phần lớn trong số đó không được phân công vai trò. Làm cách nào để xóa các tài khoản này và nội dung của chúng?

Tái bút: Các giải pháp Drush được đánh giá cao và hoan nghênh, nhưng hiện tại tôi thích các câu trả lời không phải Drush hơn.

Tôi đã thử gợi ý 1 tại Làm cách nào để xóa hàng loạt người dùng 'bị chặn'? nhưng cả hai tùy chọn đều tốn thời gian và mô-đun VBO dường như bị treo. Gợi ý 2 dường như là lựa chọn nhanh nhất, nhưng /core/modules/user/user.admin.inc tệp không tồn tại trong Drupal 8.7.

Điểm:4
lá cờ cn

Tôi chỉ phải làm điều này gần đây. Tôi thấy cách dễ nhất là tạo danh sách các địa chỉ email cần xóa trong tệp văn bản.

_remove_user_emails.txt

[email protected]
[email protected]
[email protected]

Sau đó xử lý chúng bằng tập lệnh đơn giản bên dưới:

remove_users.sh

NẾU = "
"
pwd
cho người dùng trong `cat _remove_user_emails.txt`
làm
  echo "Hủy người dùng: $user"
  ./vendor/bin/drush -y user-cancel ${user}
xong

Bạn có thể lấy được danh sách của mình theo cách bạn muốn. Tôi thường sử dụng phpmyadmin và chỉ viết một truy vấn cho những gì tôi cần và xuất nó. Một cái gì đó như thế này:

CHỌN DISTINCT u.mail
TỪ người dùng bạn
TRÁI THAM GIA users_roles ur trên u.uid = ur.uid
NƠI u.uid > 1
VÀ u.status <> 0
VÀ ur.rid LÀ NULL
apaderno avatar
lá cờ us
Với hơn 150000 tài khoản người dùng, việc ghi địa chỉ email vào tệp văn bản và sau đó xóa tài khoản người dùng bằng Drush dường như không khả thi.
Mandock D. avatar
lá cờ kr
@Ryan, tôi đã thử đề xuất của bạn trên trang web thử nghiệm của mình, tôi phải điều chỉnh thời gian thực hiện, v.v. trong các tệp cấu hình của mình... thứ mà tôi không có quyền truy cập trên trang web trực tiếp. Quá trình bị hủy sau khoảng 2 giờ chạy. Cảm ơn, nhưng tôi hy vọng tôi có thể nhận được giải pháp nhanh hơn và hiệu quả hơn.
lá cờ cn
Để xóa người dùng, bạn cần chạy tất cả các hook. Tôi thấy drush là cách nhanh nhất để làm điều đó. Có lẽ thay vì đặt 150 nghìn người dùng vào một tệp, thay vào đó hãy thử một nhóm nhỏ hơn như 10 nghìn người dùng. Trang web của tôi có khoảng 50 nghìn người dùng và chúng tôi đã xóa 30 nghìn người dùng trong khoảng 15 giờ YMMV. Không chắc tại sao bạn phải chỉnh sửa thời gian thực thi, đây là một tập lệnh bash, sẽ chạy đi chạy lại php so với một luồng dài.
hotwebmatter avatar
lá cờ nr
Tại sao hủy thực thi tập lệnh sau hai giờ? Tôi khuyên bạn nên để nó chạy qua đêm.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.