用于备份特定目录的系统范围命令

用于备份特定目录的系统范围命令

在覆盖了我之前编写的一些代码之后,我正在寻找一种习惯,只需使用键盘快捷键即可备份整个目录,就像在处理一些艰苦的工作时本能地每 30 秒按一次Ctrl+一样。S

示例:处理包含目录和子目录的项目并按键盘命令将其备份到单独的位置(同一磁盘上的单独分区或完全不同的磁盘)。

最后,两者

sh -c 'rsync -azh home/username/Documents home/username/Doc_Backup'

sh -c 'rsync -azh ~/Documents ~/Doc_Backup'

为我工作(设置键盘+)。

最终我编写了一个 shell 脚本来复制几个目录并最终递归压缩它们:

#!/bin/sh
rsync -azh '/home/user_name/Documents/ex1'
rsync -azh '/home/user_name/Documents/ex2'
zip -r '/home/user_name/Doc_Backup/Backup.zip' '/home/user_name/Doc_Backup/Backup'
rm -rf '/home/user_name/Doc_Backup/Backup'

答案1

这可以通过创建自定义热键来实现。

打开Control Center,点击Keyboard,然后点击shortcuts选项卡。点击add shortcut。输入名称,例如“备份工作”。然后,对于命令,输入:

sh -c 'rsync -azh ~/my/work/folder /path/to/backup/folder'

单击“添加”,然后单击“新快捷方式”以添加组合键来激活它。选择您的程序或系统未使用的组合。注意:某些桌面可能会要求您在添加快捷方式之前添加组合键。

命令说明

rsync是一款文件同步软件。第一次执行可能需要一些时间,因为它必须复制所有文件。但在后续运行过程中,它会查找更改并复制更改。

  • -a创建一个递归(复制子目录)档案,以保留所有者、权限和时间戳。
  • -z压缩文件数据以便发送。
  • -h以人类可读的格式打印数字。

因此,该命令将把文件和子文件夹从复制/my/work/folder/path/to/backup/folder;保留所有权、权限和时间戳;并压缩文件数据。

注意:我假设工作文件夹位于您的主目录中,因此添加了~。如果它不在您的主文件夹中,则提供工作文件夹的绝对路径。

相关内容