UbuntuのタイミングでSVNサーバのShellスクリプトにコードを提出します。


二つの用途があります。一つは怠けてコードを提出しなくてもいいです。二つはリモートサーバーで定期的にバックアップします。

sudo gedit /etc/crontab
開いてこの行に参加します。

0 * * * * my_user_name    my_script_path
全部の点をmyで表す。アメリカ.nameとしてマイムを実行しますスクリプトpathここは現在のユーザー名を使って、デフォルトのrootを修正したほうがいいです。でないとrootとして失敗したかもしれません。詳しくはBaidu crontabの使い方を聞いてください。
そしてスクリプトの内容は:

#!/bin/bash
cd $my_code_path
#
svn st | grep "? \+" | sed "s/? \+//" | xargs svn add
#
svn st | grep "! \+" | sed "s/! \+//" | xargs svn delete
#
svn ci -m 'auto commit by script'
修正/etc/crontabではなく、スクリプトをコピーしたり、ソフトを/etc/cron.horly/にリンクしたりすることもできます。スクリプトアプリケーションスはユーザーを切り替えて、次のように変更します。

#!/bin/bash
su - your_user_name <<EOF
cd $my_code_path
#
svn st | grep "? \+" | sed "s/? \+//" | xargs svn add
#
svn st | grep "! \+" | sed "s/! \+//" | xargs svn delete
#
svn ci -m 'auto commit by script'
EOF
修正/etc/crontabではなく、スクリプトのコピーやソフトを/etc/cron.horly/にリンクすることもできます。スクリプトアプリケーションスはユーザーを切り替えて、ユーザーを変えます。

#!/bin/bash
su - your_user_name <<EOF
cd $my_code_path
#
svn st | grep "? \+" | sed "s/? \+//" | xargs svn add
#
svn st | grep "! \+" | sed "s/! \+//" | xargs svn delete
#
svn ci -m 'auto commit by script'
EOF
デフォルトは1時間17分目です。同じように、weekly、mothly、dailyフォルダがあります。
タイミングバックアップサーバー上のウェブページファイルについては、次のような意見があります。
1.スクリプトのタイミングcomit(各整数点):開発者はサーバー上のファイルを随時修正し、すぐに有効になります。バックアップ作業に関心を持たなくてもいいです。
2.スクリプトタイミングudate(30秒ごと):複数のファイルが同時に修正される衝突を防ぐことができます。現地でサーバー環境を構築する必要があります。デバッグok後にアップロードします。でないと、comit後はしばらく待つ必要があります。サーバーは新しいコードを使います。
人を基本とする仕事環境は、サボってもサボってもいいし、仕事が便利で便利です。複数の人が同時に修正して衝突しないことを保証できるなら、第一の種類を選択します。