bash의 rsync가 php 생성 --exclude-from 파일을 구문 분석하지 않음 (rsync in bash not parsing php-generated --exclude-from file)


문제 설명

bash의 rsync가 php 생성 ‑‑exclude‑from 파일을 구문 분석하지 않음 (rsync in bash not parsing php‑generated ‑‑exclude‑from file)

My rsync bash script isn't parsing my ‑‑exclude‑from file that's generated via php, but it will if I manually create (as root) the same exact file locally. I've got a web interface on a Xubuntu 12.10 system that writes rsync ‑‑exclude‑from files locally and then pushes them via rcp to our (CentOS 6) backup boxes that run the rsync script. (Please spare finger wagging about rcp... I know‑‑don't have a choice in this case.) 

Webpage writes file:

PHP:

file_put_contents($exclfile, $write_ex_val);

then pushes to the backup box from a local bash script on the webserver with:

Bash:

rcp ‑p /path/to/file/${servername}_${backupsource}.excl ${server}:/destination/path

I've compared the permissions and ownership of the hand‑created file (that works) with the same file that's php/rcp'd (that doesn't), and they're both the same:

Bash: 

stat ‑c '%a' server_backupsource_byhand.excl 
644

stat ‑c '%a' server_backupsource_byphp.excl 
644

ls ‑l server_backupsource_byhand.excl 
‑rw‑r‑‑r‑‑ 1 root root 6 May 11 05:57 server_backupsource_byhand.excl 

ls ‑l server_backupsource_byphp.excl 
‑rw‑r‑‑r‑‑ 1 root root 6 May 11 05:58 server_backupsource_byphp.excl 

In case it's relevant, here's my rsync line:

BASH:

rsync ‑vpaz ‑v ‑‑exclude‑from=${exclfile} /mnt/${smbdir} /backup

I suspect php might be writing the file in a different format (e.g. UTF8 instead of ANSI), but I can't figure out how to test this, and have limited knowledge here. 

Does anyone have any suggestions on how to get the php/rcp generated file to parse?


참조 솔루션

방법 1:

Using diff and file I found out that the php‑written version wasn't writing the newline. In my variable definition I was using a "." as "$write_ex_val ." Removing this "." let php write the new lines. I also removed the space between the variable and "\n", although I'm not sure if this contributed to the solution. I'd upvote the comment, Earl, but I don't think I have enough rep. Thanks again.

(by kiwisankiwisan)

참조 문서

  1. rsync in bash not parsing php‑generated ‑‑exclude‑from file (CC BY‑SA 3.0/4.0)

#PHP #bash #rsync






관련 질문

bash의 rsync가 php 생성 --exclude-from 파일을 구문 분석하지 않음 (rsync in bash not parsing php-generated --exclude-from file)

PHP 배열 값 저장 (PHP Save array value)

검색으로 배열에서 특정 데이터 가져오기 (get specific datas from a array by a search)

창 서비스를 사용하여 PHP 파일 트리거 (Trigger a php file using window service)

yii2 컨트롤러 작업 주입은 어떻게 작동합니까? (How does the yii2 Controller action injection works)

php와 drupal을 사용하여 pdf를 텍스트로 변환 (pdf to text convert using php and drupal)

PHP에서 카테고리 및 하위 카테고리 목록 검색 (Retrieve Category & Subcategory list in PHP)

PDO - COUNT(*) 결과를 얻습니까? (PDO - get the result of a COUNT(*)?)

PHP - MySQL 쿼리 문제 (PHP - Mysql query problem)

제품용 Reviews.io API의 Foreach 루프 (Foreach loop in Reviews.io API for Products)

숫자를 나누고 점 뒤에 하나의 숫자를 유지하십시오. (Split the number and keep one number after the dot)

내 메시지 입력이 데이터베이스에 들어가지 않습니다. (My message input doesn't get into database)







코멘트