Я хочу сделать следующее: когда файл изменяется, тогда старый файл должен быть скопирован в другое место с другим именем в Linux. Например, при изменении example.text при каждом изменении должны создаваться новые файлы, например: example1.text, example2.text ...
2 ответа
Есть три хороших способа сделать это:
Если вы используете текстовый редактор с графическим интерфейсом, например, gedit/pluma, и включите опцию
Create a backup copy of files before saving
в настройках, то ваш файлexample1.txt
будет сохранен вexample1.txt~
после сохранения. Вы можете включить это для nano с помощьюnano -B example1.txt
. Дополнительно cpcp -b example1.txt example2.txt
также создастexample1.txt~
.Используйте задание cron для регулярного резервного копирования файлов в каталоге, вы даже можете комбинировать это с VCS . Я могу включить сценарий, который я использую, если вы спросите хорошо.
Используйте VCS напрямую, например, git, и зафиксируйте ваши файлы в локальном хранилище (вы можете даже перенести его в удаленное местоположение позже, если захотите) в любое время, когда вы их изменяете.
Возможно, вы просто запрашиваете ротацию журнала, и в этом случае вы можете использовать команду logrotate
с подробной информацией здесь и здесь.
Предполагая, что использование ZFS является опцией (доступной либо через FUSE, либо непосредственно в Linux), одним из способов будет использование автоматических снимков ZFS для достижения чего-то близкого к тому, что вы хотите.
Старые снимки уничтожаются, поэтому вам потребуется некоторая настройка, если вы действительно хотите обновлять каждый файл.