티스토리 뷰
반응형
현재 폴더에서 실행하면, 현재 폴더의 소스파일등을 Backup폴더에 zip파일로 압축하고,
USB메모리가 있다면, Backup폴더를 USB메모리에도 복사한다.
#!/bin/bash USB_dir=우분투/SPI usb_mount_paths=$(df -h | grep '/media' | awk '{print $6}') copy_files_to_directory() { # 폴더명 출력 echo $1 for usb_mount_point in $usb_mount_paths; do # 마운트 포인트의 끝 부분을 추출하여 USB 메모리의 식별자로 사용 usb_identifier=$(basename "$usb_mount_point") dir1="$usb_mount_point/$USB_dir" echo "USB:"$dir1 mkdir -p $dir1 #echo "$1 폴더를 $dir1 에 복사" #cp -r $1 $dir1 echo 변경된 파일만 복사 rsync -av --update $1 $dir1 #echo "파일을 $usb_identifier USB 메모리의 '우분투' 폴더로 복사했습니다." done } # 백업 폴더 생성 backup_folder="Backup" mkdir -p "$backup_folder" mkdir -p "Lib" cp -r ../Lib/* Lib/ # 현재 날짜와 시간을 이용하여 백업 파일명 생성 zip_file="$backup_folder/$(date '+%Y%m%d-%H%M').zip" # *.zip을 제외한 모든 파일을 현재 폴더에서 백업 폴더로 이동 # shopt -s extglob # mv !(Backup) "$backup_folder" # 이전에 생성된 백업 파일 삭제 find "$backup_folder" -name "$zip_file" -type f -delete # 현재 폴더를 백업 폴더로 압축 (zip 파일은 제외) #zip -r "$zip_file" . -x "*.zip" "Backup/" zip -r "$zip_file" . -x "*.zip" "Backup/" rm -r Lib/ copy_files_to_directory $backup_folder echo "Backup completed: $zip_file" |
반응형
'초보 우분투(리눅스)' 카테고리의 다른 글
우분투 - 파일관리자에서 주소줄 표시하기 (1) | 2024.03.03 |
---|---|
우분투 - *.desktop 파일 (0) | 2024.03.02 |
작성중 - 젯슨나노 - 우분투 - GPIO 제어 테스트 (1) | 2024.02.25 |
젯슨나노 UART2 통신 - 송신 깨지는 문제 (0) | 2024.02.25 |
안됨 - #include 오류가 검색되었습니다. includePath를 업데이트하세요. 이 변환 단위(/home/a/Desktop/xxxx/sample1.c)에는 물결선을 사용할 수 없습니다. (0) | 2024.02.25 |