"/Volumes/MEDIA/SERVER/SYNC.sh"を使用してターミナルで実行するとうまく動作する.shスクリプトを持っています しかし、私はそれを得ることができませんAppleScriptエディタで次のコマンドを実行してください: do shell script "/VOLumes/MEDIA/SERVER/SYNC.sh" また、上記のbashを前面に表示してください。AppleScriptはターミナルにあるようにシェルスクリプトを実行しません
シェルスクリプト(SYNC.sh)しないことにより
#!/bin/bash
login="uhh"
pass="uhh"
host="uhh.com"
remote_dir='~/private/sync'
local_dir="/Volumes/MEDIA/_/SYNCING"
base_name="$(basename "$0")"
lock_file="/tmp/$base_name.lock"
trap "rm -f $lock_file" SIGINT SIGTERM
if [ -e "$lock_file" ]
then
echo "$base_name is running already."
exit
else
touch "$lock_file"
lftp -p 22 -u "$login","$pass" sftp://"$host" << EOF
set sftp:auto-confirm yes
set mirror:use-pget-n 5
mirror -c -P5 --Remove-source-files --log="/Volumes/MEDIA/SERVER/LOGS/$base_name.log" "$remote_dir" "$local_dir"
quit
EOF
# MOVE FINISHED FILES INTO DIRECTORY FOR CONVERSION
mv /Volumes/MEDIA/_/SYNCING/movies/* /Volumes/MEDIA/SEEDBOX/MOVIES
mv /Volumes/MEDIA/_/SYNCING/tvshows/* /Volumes/MEDIA/SEEDBOX/TVSHOWS
mv /Volumes/MEDIA/_/SYNCING/books/* /Volumes/MEDIA/SEEDBOX/BOOKS
mv /Volumes/MEDIA/_/SYNCING/music/* /Volumes/MEDIA/SEEDBOX/MOVIES
# SHOW COMPLETED NOTIFICIATION
osascript -e 'display notification "Sync completed" with title "SEEDB0X"'
rm -f "$lock_file"
trap - SIGINT SIGTERM
exit
fi
'は同一では' 何が起こるかだけ
osascript -e 'display notification "Sync completed" with title "SEEDB0X"'
が実行されています。ターミナル経由で実行されるスクリプトでは、同期が完了した後にのみ表示されます。
ありがとうございました!
本当にあなたのユーザ名、パスワード、ホストはすべて、そのスクリプトの冒頭にプレーンテキストで書かれていますか? :-) –
'mv'行が実行されていないことをどのように知っていますか?または 'rm'行など? –
まあ、それは私の超愚かだった。 - 私はlftpによる同期ではありません。それをターミナルで実行すると、すぐに新しいファイルがすべて取得されます。 – Kitsune