毎日トリガーされ、昨日のログファイルを複数のサーバーから ftp サーバーに転送するシェルスクリプトを作成しようとしています。
これまでのところ、命名規則に従ってそれらをコピーして名前を変更することができました(YYYYMMDDが含まれている必要があります)が、FTP上ではありません。
これが私がこれまでに得たものです:
#!/bin/sh
path=/home/log/
backupPath=/home/new_directory/log
if [ ! -d $backupPath ]; then
echo "$backupPath does not exist. Create it"
mkdir $backupPath
fi;
server=$(uname -n)
for filename in $path/*string*; do
timestamp=$(date -d "$(stat -c %y "$filename")" +%Y%m%d)
basename=$(basename $filename)
newfilename=$(echo "$basename" | sed s/access/access_"$timestamp"_"$server"/g)
cp $filename $backupPath"/$newfilename"
echo "$filename moved to $backupPath/$newfilename"
done
ここで、昨日の適切にフォーマットされたファイルのみを FTP サーバーにコピーするように変更する必要があります。