그래서 여기에 내가 그것을 작동시키려는 스크립트가 있습니다.
#!/bin/bash
filePath="$1"
fileName="$( basename "$filePath" )"
backupDir="/my/backup/dir/${fileName}-backups/"
dateTime=$( date "+%d.%m.%Y_%H:%M:%S" )
# Check if backup folder exists if not create them
if [ ! -d "$backupDir" ]; then
mkdir "$backupDir"
fi
# Create the Backup in a zip-file
zip -r "${backupDir}${fileName}-${dateTime}.zip" "$filePath"
이 오류가 나타납니다.
zip I/O error: Protocol error
zip error: Could not create output file (/my/backup/dir/filename-backups/filename-06.04.2014_18:54:58.zip)
문제는 "dateTime"변수 인 것 같습니다. 이 변수가 없으면 스크립트가 오류없이 실행됩니다.
편집 : 좋아 문제는 날짜 문자열의 이중 점입니다.
dateTime=$( date "+%d.%m.%Y_%H:%M:%S" )
내가 그것을 변경하면
dateTime=$( date "+%d.%m.%Y_%H-%M-%S" )
그것은 나를 위해 작동합니다. 별로 좋지는 않지만 다른 가능성이 없다면 ...
ZIP이 dos / windows 중심이기 때문일 것입니다. Windows에서는 :
드라이브 문자와 경로 ( C:\
) 사이의 구분자로 사용되므로 파일 이름에서 허용되지 않습니다 .
정말로 zip이 필요하지 않다면 대신 gzip 또는 xz 압축과 함께 tar를 사용하는 것이 좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다