초보 우분투(리눅스)
USB로 파일 복사 쉘스크립트
바람사탕
2024. 2. 25. 22:36
반응형
현재 폴더에서 실행하면, 현재 폴더의 소스파일등을 Backup폴더에 zip파일로 압축하고,
USB메모리가 있다면, Backup폴더를 USB메모리에도 복사한다.
xBackup.sh
0.00MB
Run.sh
0.00MB
build_and_Run.sh
0.00MB
| #!/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" |
반응형