Đặt tất cả các bản sao lưu vào một thư mục sao lưu


15

Làm cách nào tôi có thể thiết lập Emacs để tất cả các bản sao lưu được đặt vào một thư mục sao lưu? ví dụ/MyEmacsBackups


Xin lưu ý rằng điều này có thể có tác dụng phụ ngoài ý muốn là để lại thông tin nhạy cảm tồn tại trên máy của bạn, ngay cả sau khi bản gốc được di chuyển / xóa. Thỉnh thoảng nên thanh lọc thư mục sao lưu này. Các tệp sao lưu này cũng có thể có các quyền khác với bản gốc.
nispio

Câu trả lời:


17

Kiểm tra backup-directory-alist, cho phép bạn thiết lập các vị trí sao lưu bằng tệp regrec. Để có mọi thứ, hãy vào một thư mục, thử một cái gì đó như:

(setq backup-directory-alist '(("." . "~/MyEmacsBackups")))

Đối với người hoang tưởng thực sự (như bản thân tôi), cũng có bản sao lưu mỗi lần lưu , mà (như tên cho thấy) sao lưu các tệp của bạn mỗi khi chúng được lưu ở một vị trí thuận tiện. Điều này cung cấp thêm một lớp bảo vệ so với kiểm soát phiên bản truyền thống, ví dụ cho những trường hợp đó khi bạn vô tình xóa thư mục làm việc của mình mà không kiểm tra nội dung nào đó.


11

Sau đây là một mã nhanh từ của tôi .emacs. Nó không chỉ đặt các bản sao lưu vào một thư mục cụ thể, mà còn tự động lưu và thực hiện tương tự cho các tệp tramp để chúng không được đưa vào hệ thống từ xa.

;; Put backup files neatly away                                                 
(let ((backup-dir "~/tmp/emacs/backups")
      (auto-saves-dir "~/tmp/emacs/auto-saves/"))
  (dolist (dir (list backup-dir auto-saves-dir))
    (when (not (file-directory-p dir))
      (make-directory dir t)))
  (setq backup-directory-alist `(("." . ,backup-dir))
        auto-save-file-name-transforms `((".*" ,auto-saves-dir t))
        auto-save-list-file-prefix (concat auto-saves-dir ".saves-")
        tramp-backup-directory-alist `((".*" . ,backup-dir))
        tramp-auto-save-directory auto-saves-dir))

(setq backup-by-copying t    ; Don't delink hardlinks                           
      delete-old-versions t  ; Clean up the backups                             
      version-control t      ; Use version numbers on backups,                  
      kept-new-versions 5    ; keep some new versions                           
      kept-old-versions 2)   ; and some old ones, too                           


0

Đặt cái này trong tập tin init của bạn. Thay đổi đường dẫn đến thư mục sao lưu đã chọn của bạn.

;;backup directory
(setq backup-directory-alist '(("" . "~/.emacs.d/emacs_backup")))
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.