Legen Sie alle Sicherungen in einem Sicherungsordner ab

15

Wie kann ich Emacs so einrichten, dass alle Backups in einem Backup-Ordner abgelegt werden? z.B/MyEmacsBackups

Luke
quelle
Beachten Sie, dass dies den unbeabsichtigten Nebeneffekt haben kann, dass vertrauliche Informationen auf Ihrem Gerät verweilen, selbst nachdem die Originale verschoben / gelöscht wurden. Es ist ratsam, diesen Sicherungsordner gelegentlich zu löschen. Diese Sicherungsdateien haben möglicherweise auch andere Berechtigungen als die Originale.
Nispio

Antworten:

17

Check out backup-directory-alist( Auschecken), mit dem Sie Sicherungsspeicherorte mithilfe von regulären Ausdrücken festlegen können. Versuchen Sie Folgendes, um alles in ein Verzeichnis zu verschieben:

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

Für die wirklich Paranoiden (wie ich) gibt es auch Backup-Each-Save , das (wie der Name schon sagt) Ihre Dateien jedes Mal an einem geeigneten Ort sichert. Dies bietet einen zusätzlichen Schutz gegenüber der herkömmlichen Versionskontrolle, z. B. wenn Sie versehentlich Ihr Arbeitsverzeichnis löschen, ohne etwas einzuchecken.

Shosti
quelle
11

Das Folgende ist ein kurzer Code von meinem .emacs. Es legt nicht nur Backups in einem bestimmten Verzeichnis ab, sondern speichert sie auch automatisch. Dies gilt auch für Tramp-Dateien, damit diese nicht auf dem Remote-System abgelegt werden.

;; 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                           
Jorgen Schäfer
quelle
1
;; put all backup files into ~/MyEmacsBackups
(setq backup-directory-alist '(("." . "~/MyEmacsBackups")))
(setq backup-by-copying t)
CyberSnoopy
quelle
Welchen Nutzen hat Ihre Antwort gegenüber der von Shosti?
Gilles 'SO - hör auf böse zu sein'
@ Gilles Nicht viel, gnu.org/software/emacs/manual/html_node/emacs/…
CyberSnoopy
0

Fügen Sie dies in Ihre Init-Datei ein. Ändern Sie den Pfad zu Ihrem gewählten Sicherungsverzeichnis.

;;backup directory
(setq backup-directory-alist '(("" . "~/.emacs.d/emacs_backup")))
Nsukami _
quelle