http://blog.csdn.net/hursing/article/details/17553571
使用 crontab
sudo crontab -e
打开后加入这行
- 0 * * * * my_user_name my_script_path
然后script的内容为:
- #!/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'
- #!/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
默认是每个小时的第17分钟执行。类似的,还有weekly、monthly、daily 文件夹
关于定时备份服务器上的网页文件,会有两种意见,其优劣如下:
- 脚本定时commit(每个整点):开发人员可以随时修改服务器上的文件并立刻生效,不用关心备份工作。
- 脚本定时update(每隔30秒):可防止文件多人同时修改的冲突;需要本地搭建服务器环境,调试ok后才上传,否则commit后都得等一段时间,服务器才用上新代码。