沟通很重要,沟通的渠道很重要。当团队需要配合的时候,要想办法将自己当下做的事情,以最有效的方式通知给团队其它成员,以避免不必要的伤害。
比如,刚刚发生了如下事情:
有一测试系统,历史的任务是完成上线前的最后一次测试,然后:
A 为了客户演示系统的使用,在此系统上添加了大量的供演示用的支撑数据。
B 为了删除生产环境下冗余数据,用生产环境下的数据覆盖了测试的数据。
导致:
A很无奈:覆盖数据前竟然不和我打招呼!
B很无辜:测试系统不就是用来测试而可以随时覆盖的吗?
以上是闲谈,如果我们每日都对数据进行备份呢?是不是就可以解决A、B两个人的问题?
脚本
#!/bin/bash# # Set these variablesMyUSER="" # DB_USERNAMEMyPASS="" # DB_PASSWORDMyHOST="" # DB_HOSTNAME# Backup Dest directoryDEST="" # /home/username/backups/DB# Email for notificationsEMAIL=""# How many days old files must be to be removedDAYS=3# Linux bin pathsMYSQL="$(which mysql)"MYSQLDUMP="$(which mysqldump)"GZIP="$(which gzip)"# Get date in dd-mm-yyyy formatNOW="$(date +"%d-%m-%Y_%s")"# Create Backup sub-directoriesMBD="$DEST/$NOW/mysql"install -d $MBD# DB skip listSKIP="information_schemaanother_one_db"# Get all databasesDBS="$($MYSQL -h $MyHOST -u $MyUSER -p$MyPASS -Bse 'show databases')"# Archive database dumpsfor db in $DBSdo skipdb=-1 if [ "$SKIP" != "" ]; then for i in $SKIP do [ "$db" == "$i" ] && skipdb=1 || : done fi if [ "$skipdb" == "-1" ] ; then FILE="$MBD/$db.sql" $MYSQLDUMP -h $MyHOST -u $MyUSER -p$MyPASS $db > $FILE fidone# Archive the directory, send mail and cleanupcd $DESTtar -cf $NOW.tar $NOW$GZIP -9 $NOW.tarecho "MySQL backup is completed! Backup name is $NOW.tar.gz" | mail -s "MySQL backup" $EMAILrm -rf $NOW# Remove old filesfind $DEST -mtime +$DAYS -exec rm -f {} \;