알려진 특정 파티션 이름 뒤에 blkid
특정 파티션 이름을 실행하고 복사 해야 합니다.UUID
그런 다음 기존 구성 파일에 붙여넣고 UUID
( )에 이미 있는 구성 파일을 바꿔야 합니다 parent_device_uuid
. 아래 구성 예시.
초보자가 이해할 수 있는 방식으로 이를 수행하는 방법을 보여줄 수 있는 사람이 있습니까?
{
"backup_device_uuid" : "cdb09919-39d4-4a17-9fc4-6daa1d38f1e1",
"parent_device_uuid" : "IOe7Qc-fjAK-2ydl-OMk4-SvVu-1P6Y-PJSHzV",
"do_first_run" : "false",
"btrfs_mode" : "false",
"include_btrfs_home_for_backup" : "false",
"include_btrfs_home_for_restore" : "false",
"stop_cron_emails" : "true",
"btrfs_use_qgroup" : "true",
"schedule_monthly" : "true",
"schedule_weekly" : "true",
"schedule_daily" : "true",
"schedule_hourly" : "true",
"schedule_boot" : "true",
"count_monthly" : "1",
"count_weekly" : "2",
"count_daily" : "3",
"count_hourly" : "3",
"count_boot" : "1",
"snapshot_size" : "15837901165",
"snapshot_count" : "292512",
"date_format" : "%Y-%m-%d %H:%M:%S",
"exclude" : [
"/home/test/**",
"/home/test2/**",
"/root/**"
],
"exclude-apps" : []
}
답변1
파일 작업을 하고 있다면 json
이 명령을 사용할 수 있습니다 jq
.
얻기 위해서는오직일부 파티션 의 경우 UUID
다음 명령을 사용할 수 있습니다.
태그 이름과 함께 blkid 사용
blkid -s UUID -o value -t 'LABEL=your_label_name'
#If you got: 'command not found' then you can use:
sudo blkid -s UUID -o value -t 'LABEL=your_label_name'
#or
/sbin/blkid -s UUID -o value -t 'LABEL=your_label_name'
your_label_name
원하는 장치의 이름은 어디에 있습니까?
에서 blkid --help
:
-s
지정된 라벨(이 경우 UUID)을 표시합니다.-o
출력 형식입니다(이 경우 UUID 태그 값이 필요합니다).
lsblk 사용(레이블 이름을 사용하지 않음)
lsblk /dev/nvme0n1p1 -o UUID -n
에서 lsblk --help
:
-o
출력 열(이 경우 UUID 열만 필요함)-n
제목을 인쇄하지 마세요
해결책
마지막으로 위 명령 중 하나를 사용하여 얻은 UUID로 바꿀 jq
수 있습니다 .parent_device_uuid
jq --arg puuid "$(blkid -s UUID -o value -t 'LABEL=your_label_name')" '.parent_device_uuid = $puuid' < configfile > tmpconfig
mv tmpconfig configfile
mv
또는 이를 사용할 때 (파일 이동, 이름 바꾸기 등) 권한이 없는 경우 다음을 사용하십시오.
sudo mv tmpconfig configfile
~에 대한구성 파일, 다음을 포함하는 파일입니다.
{
"backup_device_uuid" : "cdb09919-39d4-4a17-9fc4-6daa1d38f1e1",
"parent_device_uuid" : "IOe7Qc-fjAK-2ydl-OMk4-SvVu-1P6Y-PJSHzV",
"do_first_run" : "false",
"btrfs_mode" : "false",
"include_btrfs_home_for_backup" : "false",
"include_btrfs_home_for_restore" : "false",
"stop_cron_emails" : "true",
"btrfs_use_qgroup" : "true",
"schedule_monthly" : "true",
"schedule_weekly" : "true",
"schedule_daily" : "true",
"schedule_hourly" : "true",
"schedule_boot" : "true",
"count_monthly" : "1",
"count_weekly" : "2",
"count_daily" : "3",
"count_hourly" : "3",
"count_boot" : "1",
"snapshot_size" : "15837901165",
"snapshot_count" : "292512",
"date_format" : "%Y-%m-%d %H:%M:%S",
"exclude" : [
"/home/test/**",
"/home/test2/**",
"/root/**"
],
"exclude-apps" : []
}
매개변수 정보 jq
: 장치의 값을 변수에 할당하는 --arg puuid "$(blkid -s UUID -o value -t 'LABEL=your_label_name')"
데 사용됩니다 . puuid를 변경하세요 ` (이것은 장치의 UUID입니다)UUID
puuid
'.parent_device_uuid = $puuid'
"parent_device_uuid" : "IOe7Qc-fjAK-2ydl-OMk4-SvVu-1P6Y-PJSHzV" to what