作者 主題: 求教關於rsync和ssh的怪異問題  (閱讀 16271 次)

0 會員 與 1 訪客 正在閱讀本文。

fjeld

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
求教關於rsync和ssh的怪異問題
« 於: 2009-05-10 09:42 »
想使用rsync實現文件的自動備份,結果遇到了難以克服的問題,請各位高人相助。
首先將rsync命令寫在腳本 home/shuai/Documents/rsync-shell.sh 中,內容如下:

#!/bin/bash
/usr/bin/rsync -av --rsh=/usr/bin/ssh --stats /home/shuai/Documents/ sa111@192.168.80.202:/backup/shuai/

測試腳本,在終端輸入 $ sh /home/shuai/Documents/rsync-shell.sh
通過,並且無需密碼(已經設置過密匙)。

然後 crontab –e

# m h  dom mon dow   command
10 19 * * * echo "hello" >/home/shuai/backuptest.log
10 19 * * * sh /home/shuai/Documents/rsync-shell.sh >/home/shuai/backupjob.log

重啟服務cron服務 (sudo /etc/init.d/cron restart)。結果發現第一個log文件中有”hello”,第二個文件為空,rsync命令沒有執行。
這是怎麼回事呢?謝謝各位幫忙。

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #1 於: 2009-05-10 22:59 »
sh 不寫,直接就跑 /home/shuai/Documents/rsync-shell.sh 可以不?

fjeld

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #2 於: 2009-05-11 00:57 »
謝謝netman,最初試過不寫sh,沒用。

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #3 於: 2009-05-11 01:02 »
哦?
那獎 echo hello 那行寫進 script 呢?會有 echo 的結果不?

fjeld

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #4 於: 2009-05-11 01:44 »
剛剛試了把echo那行寫進script,有echo的運行結果,就是不執行rsync命令。
我把 /usr/bin/rsync -av --rsh=/usr/bin/ssh --stats /home/shuai/Documents/ sa111@192.168.80.202:/backup/shuai/ 這行單獨在終端運行是可以的,同樣在終端執行script也可以,為什麼用crontab -e就不行了呢?
« 上次編輯: 2009-05-11 01:50 由 fjeld »

fjeld

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #5 於: 2009-05-11 02:05 »
還有,我剛剛試了把遠端目錄換成本地目錄,即添加
/usr/bin/rsync -av --rsh=/usr/bin/ssh --stats /home/shuai/Documents/ /home/shuai/Documents_backup/ >/home/shuai/backup_job2.log
這行到script中,這行命令是執行了的。怎麼遠端目錄就是不行呢,還有哪些方面我可能忽略掉了呢?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #6 於: 2009-05-11 08:32 »
那在 script 里面加個 HOME=/home/shuai 看看?

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #7 於: 2009-05-11 08:59 »
會不會是權限的問題?  ::)
log 沒有任何錯誤訊息嗎?

plasty

  • 可愛的小學生
  • *
  • 文章數: 5
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #8 於: 2009-05-11 11:10 »
.......................
首先將rsync命令寫在腳本 home/shuai/Documents/rsync-shell.sh 中,內容如下:

#!/bin/bash
/usr/bin/rsync -av --rsh=/usr/bin/ssh --stats /home/shuai/Documents/ sa111@192.168.80.202:/backup/shuai/
.........................

#!/bin/bash
rsync -av ssh sa111@192.168.80.202:/backup/shuai/ /home/shuai/Documents/


這樣不知可否?

fjeld

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #9 於: 2009-05-11 12:28 »
謝謝三位的幫助。
netman: 在 script 裏什麼地方加 HOME=/home/shuai 啊,能把整個命令寫出來嗎? 我現在是完全沒有自信了 :)
yamaka:log裏沒有任何錯誤資訊。單獨在終端執行script可以,並且無需密碼。應該不會是許可權的問題吧?
plasty: 我想做的事把本地目錄在遠端上備份,上面的命令是不是正好反過來了。


netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #10 於: 2009-05-11 13:39 »
就在 #!/bin/bash 那行下面加啊... ^_^

harrier

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 1856
  • 性別: 男
    • 檢視個人資料
    • 國屬武裝兵
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #11 於: 2009-05-11 14:49 »
先確認 cron下執行 和 非cron下執行 的環境變數...
有哪些差異呢?
...90Net(90:1200/1203),GameNET(99:700/707),ALLNet(92:9200/3111),InfoNet(30:100/103)..MaximusCBCS(浮懷),AirNet,TenderNet,StormNet,FidoNet...
<<- www.nas.vg ->>

fjeld

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #12 於: 2009-05-12 06:49 »
To netman: 還是不行, 加上HOME=/home/shuai這行沒用。

fjeld

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #13 於: 2009-05-12 07:02 »
To harrier: 現在就是找不到有什麼問題啊,我的系統是ubuntu8.04,只有一個用戶,rsync命令在終端一回車就可以了,放到cron裏就什麼都不發生,連出錯資訊都沒有

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #14 於: 2009-05-12 08:45 »
哦?

那你加一行 set 的命令查一下環境設定有哪些?

kknrs29423

  • 懷疑的國中生
  • **
  • 文章數: 58
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #15 於: 2009-05-12 17:11 »
試看看在crontab後面加上 2>&1,看看log會不會有東西?
EX:
10 19 * * * sh /home/shuai/Documents/rsync-shell.sh >/home/shuai/backupjob.log 2>&1

fjeld

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #16 於: 2009-05-13 02:01 »
To netman: 在終端set了一下,有3431行呢,我該關注哪些東西呢?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #17 於: 2009-05-13 02:16 »
要不先看看 env 命令吧

fjeld

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #18 於: 2009-05-13 08:14 »
To netman. Here is all the information by env.
===========================================================================================================================
GPG_AGENT_INFO=/tmp/seahorse-WAlttq/S.gpg-agent:5968:1
SHELL=/bin/bash
DESKTOP_STARTUP_ID=
TERM=xterm
XDG_SESSION_COOKIE=00dc287174ff9392bb6645714a01f837-1242150868.452189-546158302
GTK_RC_FILES=/etc/gtk/gtkrc:/home/shuai/.gtkrc-1.2-gnome2
WINDOWID=48266150
OLDPWD=/home/shuai/sim_matrix
USER=shuai
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:
SSH_AUTH_SOCK=/tmp/keyring-Yl8RmB/ssh
GNOME_KEYRING_SOCKET=/tmp/keyring-Yl8RmB/socket
SESSION_MANAGER=local/shuai-desktop:/tmp/.ICE-unix/5893
USERNAME=shuai
PATH=/home/shuai/md/toolbox/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
DESKTOP_SESSION=default
GDM_XSERVER_LOCATION=local
PWD=/home/shuai
LANG=en_CA.UTF-8
GNOME_KEYRING_PID=5892
GDM_LANG=en_CA.UTF-8
GDMSESSION=default
HISTCONTROL=ignoreboth
SHLVL=1
HOME=/home/shuai
GNOME_DESKTOP_SESSION_ID=Default
LOGNAME=shuai
XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-ffuFHauUc3,guid=3da75d5a7ba2dbbeb4e2eddd4a09b7d5
LESSOPEN=| /usr/bin/lesspipe %s
WINDOWPATH=7
DISPLAY=:0.0
LESSCLOSE=/usr/bin/lesspipe %s %s
COLORTERM=gnome-terminal
XAUTHORITY=/home/shuai/.Xauthority
_=/usr/bin/env
===========================================================================================================================

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #19 於: 2009-05-13 08:45 »
恩?還有 DISPLAY ?

請問這是你 terminal 敲的還是寫進 script 里面用 crontab 跑出來的?

fjeld

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #20 於: 2009-05-14 12:52 »
是在terminal裏敲的,需要寫進script裏看嗎

Reeuenta

  • 懷疑的國中生
  • **
  • 文章數: 31
  • 性別: 男
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #21 於: 2009-05-15 11:18 »
是在terminal裏敲的,需要寫進script裏看嗎

從 script 裡面 dump 出來的 env 變數, 才能 debug
@}--,-`--------
金銀妖瞳‧羅嚴塔爾

fjeld

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #22 於: 2009-05-15 23:58 »
不好意思沒理解好指示。下面分別是在script中用crontab跑出來的env和set的結果。
用env
====================================================
SHELL=/bin/sh
PATH=/usr/bin:/bin
PWD=/home/shuai
SHLVL=1
HOME=/home/shuai
LOGNAME=shuai
_=/usr/bin/env
====================================================

用set
***********************************************************
BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=([0]="0")
BASH_SOURCE=([0]="/home/shuai/Documents/rsync-shell.sh")
BASH_VERSINFO=([0]="3" [1]="2" [2]="39" [3]="1" [4]="release" [5]="i486-pc-linux-gnu")
BASH_VERSION='3.2.39(1)-release'
DIRSTACK=()
EUID=1000
GROUPS=()
HOME=/home/shuai
HOSTNAME=shuai-desktop
HOSTTYPE=i486
IFS=$' \t\n'
LOGNAME=shuai
MACHTYPE=i486-pc-linux-gnu
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/bin:/bin
PIPESTATUS=([0]="0")
PPID=6164
PS4='+ '
PWD=/home/shuai
SHELL=/bin/sh
SHELLOPTS=braceexpand:hashall:interactive-comments
SHLVL=1
TERM=dumb
UID=1000
_=env
*******************************************************************

Reeuenta

  • 懷疑的國中生
  • **
  • 文章數: 31
  • 性別: 男
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #23 於: 2009-05-18 11:30 »
在下對 bash 不太熟, 所以建議 try 一下 紅字修改處, 下列修改, 看看有沒有 log 可以參考

========= Cut from Upper  8< ====================================
RSYNC Script 修改 Shell Header
#!/bin/csh -f
/usr/bin/rsync -av --rsh=/usr/bin/ssh --stats /home/shuai/Documents/ sa111@192.168.80.202:/backup/shuai/


Crontab 設定修改然後 crontab –e

# m h  dom mon dow   command
10 19 * * * /home/shuai/Documents/rsync-shell.sh >& /home/shuai/backupjob.log

================= End of Sample  >8 ============================

再看看, /home/shuai/backupjob.log 裡面有沒有東東出現~

« 上次編輯: 2009-05-18 11:32 由 Reeuenta »
@}--,-`--------
金銀妖瞳‧羅嚴塔爾

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #24 於: 2009-05-18 11:52 »
還是看不出問題。

試試將 script 第一行改為 #!/bin/bash -x
然後看 crontab 跑出來的 log ?

被騎上班的老

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 360
    • 檢視個人資料
回覆: 求教關於rsync和ssh的怪異問題
« 回覆 #25 於: 2009-08-10 18:23 »
我也不知道為什麼,不過我都這樣寫

代碼: [選擇]
10 19 * * * /bin/sh xxxxxx.sh
我猜是 cron 是一個很簡單的 shell ,簡單到連 PATH 也都沒設