わかりましたので、毎晩バックアップのためにいくつかの録音ファイルをリモートサーバーにftpしようとしています。今日作成されたファイルを取得して転送します。問題なく動作しますが、手動で実行した場合のみです。cronjob はそれを実行しません。
現在のスクリプトは次のとおりです。
#!/bin/bash
touch -t $(date +"%Y%m%d0000") /tmp/$$
NOW=$(date +"%d-%m-%Y")
HOST='remote_server'
USER='ftp_user'
PASS='ftp_password'
#create directory with date as the name, copy recordings.php for interface
ftp -inv $HOST << EOF
user $USER $PASS
mkdir /recordings/$NOW
cd /recordings/$NOW
put recordings.php
bye
EOF
find -name '*.mp3' -newer /tmp/$$ |
while read FILE
do
ftp -in $HOST << EOF
user $USER $PASS
cd /recordings/$NOW
put $FILE
bye
EOF
done
rm -f /tmp/$$
次に、このように crontab に設定したので、毎晩午後 11 時に実行されます。
* 21 * * * /var/spool/asterisk/monitorDONE/MP3/recording_script.sh
どんな助けでも大歓迎です。これが最善の方法ではない可能性があることは理解しています。これは、私が最初に見つけた方法であり、私にとってはうまくいったので、どんな提案も受け付けています。